Update the aai-common with the latest code 67/4467/1
authorVenkata Harish K Kajur <vk250x@att.com>
Wed, 24 May 2017 17:46:23 +0000 (13:46 -0400)
committerVenkata Harish K Kajur <vk250x@att.com>
Wed, 24 May 2017 17:46:59 +0000 (13:46 -0400)
Change-Id: Ia4758a3d7e462e5120fa1db7ebe97adaeac3ebc2
Signed-off-by: Venkata Harish K Kajur <vk250x@att.com>
90 files changed:
aai-annotations/src/main/java/org/openecomp/aai/annotations/Metadata.java
aai-annotations/src/test/java/org/openecomp/aai/annotations/AnnotationsTest.java [new file with mode: 0755]
aai-core/.gitignore [new file with mode: 0644]
aai-core/src/main/java/org/openecomp/aai/db/DbMethHelper.java [new file with mode: 0644]
aai-core/src/main/java/org/openecomp/aai/dbgen/DataGrooming.java
aai-core/src/main/java/org/openecomp/aai/dbgen/GenTester.java
aai-core/src/main/java/org/openecomp/aai/dbgen/SchemaGenerator.java
aai-core/src/main/java/org/openecomp/aai/dbmodel/DbEdgeRules.java
aai-core/src/main/java/org/openecomp/aai/introspection/Introspector.java
aai-core/src/main/java/org/openecomp/aai/introspection/ModelInjestor.java
aai-core/src/main/java/org/openecomp/aai/introspection/sideeffect/DataLinkReader.java
aai-core/src/main/java/org/openecomp/aai/introspection/sideeffect/SideEffectRunner.java
aai-core/src/main/java/org/openecomp/aai/introspection/sideeffect/SideEffectRunnerHelper.java
aai-core/src/main/java/org/openecomp/aai/introspection/tools/IntrospectorValidator.java
aai-core/src/main/java/org/openecomp/aai/introspection/tools/IssueType.java
aai-core/src/main/java/org/openecomp/aai/logging/EcompElapsedTime.java
aai-core/src/main/java/org/openecomp/aai/logging/EcompStartTime.java
aai-core/src/main/java/org/openecomp/aai/logging/ErrorLogHelper.java
aai-core/src/main/java/org/openecomp/aai/logging/LoggingContext.java
aai-core/src/main/java/org/openecomp/aai/parsers/query/LegacyQueryParser.java
aai-core/src/main/java/org/openecomp/aai/parsers/query/QueryParser.java
aai-core/src/main/java/org/openecomp/aai/parsers/query/UniqueURIQueryParser.java
aai-core/src/main/java/org/openecomp/aai/parsers/uri/Parsable.java
aai-core/src/main/java/org/openecomp/aai/parsers/uri/URIParser.java
aai-core/src/main/java/org/openecomp/aai/parsers/uri/URIToDBKey.java
aai-core/src/main/java/org/openecomp/aai/parsers/uri/URIToExtensionInformation.java
aai-core/src/main/java/org/openecomp/aai/parsers/uri/URIToObject.java
aai-core/src/main/java/org/openecomp/aai/parsers/uri/URIToRelationshipObject.java
aai-core/src/main/java/org/openecomp/aai/parsers/uri/URIValidate.java
aai-core/src/main/java/org/openecomp/aai/query/builder/GraphTraversalBuilder.java
aai-core/src/main/java/org/openecomp/aai/query/builder/GremlinPipelineBuilder.java
aai-core/src/main/java/org/openecomp/aai/query/builder/GremlinQueryBuilder.java
aai-core/src/main/java/org/openecomp/aai/query/builder/GremlinTraversal.java
aai-core/src/main/java/org/openecomp/aai/query/builder/GremlinUnique.java
aai-core/src/main/java/org/openecomp/aai/query/builder/QueryBuilder.java
aai-core/src/main/java/org/openecomp/aai/query/builder/TraversalQuery.java
aai-core/src/main/java/org/openecomp/aai/rest/RestTokens.java [new file with mode: 0644]
aai-core/src/main/java/org/openecomp/aai/restcore/RESTAPI.java
aai-core/src/main/java/org/openecomp/aai/restcore/search/GremlinGroovyShellSingleton.java
aai-core/src/main/java/org/openecomp/aai/serialization/db/DBSerializer.java
aai-core/src/main/java/org/openecomp/aai/serialization/db/EdgeRules.java
aai-core/src/main/java/org/openecomp/aai/serialization/db/exceptions/EdgeMultiplicityException.java [new file with mode: 0644]
aai-core/src/main/java/org/openecomp/aai/serialization/engines/TransactionalGraphEngine.java
aai-core/src/main/java/org/openecomp/aai/serialization/engines/query/GraphTraversalQueryEngine.java
aai-core/src/main/java/org/openecomp/aai/serialization/engines/query/GremlinPipelineQueryEngine.java
aai-core/src/main/java/org/openecomp/aai/serialization/engines/query/QueryEngine.java
aai-core/src/main/java/org/openecomp/aai/serialization/queryformats/Formatter.java
aai-core/src/main/java/org/openecomp/aai/util/AAIConfig.java
aai-core/src/main/java/org/openecomp/aai/util/AAITxnLog.java
aai-core/src/main/java/org/openecomp/aai/util/HttpsAuthClient.java [new file with mode: 0644]
aai-core/src/test/java/org/openecomp/aai/exceptions/AAIExceptionTest.java
aai-core/src/test/java/org/openecomp/aai/exceptions/AAIExceptionWithInfoTest.java
aai-core/src/test/java/org/openecomp/aai/introspection/IntrospectorTestSpec.java
aai-core/src/test/java/org/openecomp/aai/introspection/MoxyEngineTest.java
aai-core/src/test/java/org/openecomp/aai/introspection/PojoInjestorTest.java
aai-core/src/test/java/org/openecomp/aai/introspection/PojoLoaderTest.java
aai-core/src/test/java/org/openecomp/aai/introspection/PojoStrategyTest.java
aai-core/src/test/java/org/openecomp/aai/introspection/PropertyPredicatesTest.java
aai-core/src/test/java/org/openecomp/aai/introspection/ReflectionEngineTest.java
aai-core/src/test/java/org/openecomp/aai/introspection/sideeffect/DataCopyTest.java
aai-core/src/test/java/org/openecomp/aai/introspection/sideeffect/DataLinkTest.java
aai-core/src/test/java/org/openecomp/aai/introspection/validation/IntrospectorValidationTest.java [new file with mode: 0644]
aai-core/src/test/java/org/openecomp/aai/logging/LoggingContextTest.java [new file with mode: 0644]
aai-core/src/test/java/org/openecomp/aai/parsers/query/GraphTraversalTest.java
aai-core/src/test/java/org/openecomp/aai/parsers/query/LegacyQueryTest.java
aai-core/src/test/java/org/openecomp/aai/parsers/query/RelationshipGremlinQueryTest.java
aai-core/src/test/java/org/openecomp/aai/parsers/query/RelationshipQueryTest.java
aai-core/src/test/java/org/openecomp/aai/parsers/query/UniqueRelationshipQueryTest.java
aai-core/src/test/java/org/openecomp/aai/parsers/relationship/RelationshipToURITest.java
aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIParserTest.java
aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIToExtensionInformationTest.java
aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIToObjectTest.java
aai-core/src/test/java/org/openecomp/aai/parsers/uri/URIToRelationshipObjectTest.java
aai-core/src/test/java/org/openecomp/aai/query/builder/TraversalQueryTest.java
aai-core/src/test/java/org/openecomp/aai/serialization/db/DbAliasTest.java
aai-core/src/test/java/org/openecomp/aai/workarounds/RemoveDME2QueryParamsTest.java [new file with mode: 0644]
aai-core/src/test/resources/bundleconfig-local/etc/appprops/error.properties
aai-core/src/test/resources/bundleconfig-local/etc/oxm/aai_oxm_v10.xml
aai-core/src/test/resources/bundleconfig-local/etc/oxm/aai_oxm_v9.xml
aai-core/src/test/resources/bundleconfig-local/etc/scriptdata/dependencies/vRouterServiceInstanceFile.txt [new file with mode: 0644]
aai-core/src/test/resources/log4j.properties [new file with mode: 0644]
aai-core/src/test/resources/logback.xml [new file with mode: 0644]
aai-schema/.classpath
aai-schema/src/main/java/org/openecomp/aai/schema/enums/PropertyMetadata.java
aai-schema/src/main/resources/aai_schema/aai_schema_v10.xsd
aai-schema/src/main/resources/aai_schema/aai_schema_v8.xsd
aai-schema/src/main/resources/aai_schema/aai_schema_v9.xsd
aai-schema/src/main/resources/oxm/aai_oxm_v10.xml
aai-schema/src/main/resources/oxm/aai_oxm_v8.xml
aai-schema/src/main/resources/oxm/aai_oxm_v9.xml

index fa83aff..d35ff80 100644 (file)
@@ -45,6 +45,7 @@ public @interface Metadata {
        String alternateKeys1() default "";
        String maximumDepth() default "";
        String crossEntityReference() default "";
+       String requires() default "";
        String dbAlias() default ""; 
        String dataLocation() default "";
        String containsSuggestibleProps() default "";
diff --git a/aai-annotations/src/test/java/org/openecomp/aai/annotations/AnnotationsTest.java b/aai-annotations/src/test/java/org/openecomp/aai/annotations/AnnotationsTest.java
new file mode 100755 (executable)
index 0000000..9efc38a
--- /dev/null
@@ -0,0 +1,27 @@
+package org.openecomp.aai.annotations;
+
+import org.openecomp.aai.annotations.Metadata;
+
+public class AnnotationsTest {
+
+       public AnnotationsTest() {
+       }
+
+       @Metadata(isKey=false,
+       description="",
+       nameProps="",
+       indexedProps="",
+       dependentOn="",
+       container="",
+       namespace="",
+       defaultValue="",
+       searchable="",
+       uniqueProps="",
+       extendsFrom="",
+       isAbstract="",
+       alternateKeys1="",
+       maximumDepth="",
+       crossEntityReference="")
+       public void testAnnotation() {
+       }
+}
diff --git a/aai-core/.gitignore b/aai-core/.gitignore
new file mode 100644 (file)
index 0000000..574ae54
--- /dev/null
@@ -0,0 +1,11 @@
+.settings
+target/
+**/logs/
+bundleconfig-local/etc/auth/aai-client-cert.p12
+bundleconfig-local/etc/auth/tomcat_keystore
+bundleconfig-local/etc/oxm
+src/main/aai_schema
+bundleconfig-local/etc/logback.xml
+/.pydevproject
+/test_csvWriter.csv
+/bin/
diff --git a/aai-core/src/main/java/org/openecomp/aai/db/DbMethHelper.java b/aai-core/src/main/java/org/openecomp/aai/db/DbMethHelper.java
new file mode 100644 (file)
index 0000000..79172d9
--- /dev/null
@@ -0,0 +1,158 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.db;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Optional;
+
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.VertexProperty;
+
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.Introspector;
+import org.openecomp.aai.introspection.Loader;
+import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
+import org.openecomp.aai.parsers.query.QueryParser;
+import org.openecomp.aai.parsers.relationship.RelationshipToURI;
+import org.openecomp.aai.query.builder.QueryBuilder;
+import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+
+public class DbMethHelper {
+
+       private final Loader loader;
+       private final TransactionalGraphEngine engine;
+       
+       protected DbMethHelper() {
+               this.loader = null;
+               this.engine = null;
+       }
+       public DbMethHelper(Loader loader, TransactionalGraphEngine engine) {
+               this.loader = loader;
+               this.engine = engine;
+       }
+       /**
+        * 
+        * @param type
+        * @param map - form [{type}.{propname}:{value}]
+        * @return
+        * @throws UnsupportedEncodingException
+        * @throws AAIException
+        */
+       public Optional<Vertex> searchVertexByIdentityMap(String type, Map<String, Object> map) throws AAIException {
+               
+               Introspector relationship = constructRelationship(type, map);
+               RelationshipToURI parser;
+               URI uri;
+               QueryParser queryParser;
+               try {
+                       parser = new RelationshipToURI(loader, relationship);
+                       uri = parser.getUri();
+                       queryParser = this.engine.getQueryBuilder().createQueryFromURI(uri);
+               } catch (UnsupportedEncodingException e) {
+                       throw new AAIException("AAI_3000");
+               }
+               
+               List<Vertex> results = queryParser.getQueryBuilder().toList();
+               
+               return reduceToSingleVertex(results, map);
+       }
+       
+       /**
+        * @param type
+        * @param map - form [{propname}:{value}]
+        * @return
+        * @throws AAIException
+        */
+       public Optional<Vertex> locateUniqueVertex(String type, Map<String, Object> map) throws AAIException {
+       
+               return reduceToSingleVertex(locateUniqueVertices(type, map), map);
+       }
+       
+       public List<Vertex> locateUniqueVertices(String type, Map<String, Object> map) throws AAIException {
+               Introspector obj = this.createIntrospectorFromMap(type, map);
+               QueryBuilder builder = this.engine.getQueryBuilder().exactMatchQuery(obj);
+               
+               return builder.toList();
+       }
+       private Introspector constructRelationship(String type, Map<String, Object> map) throws AAIUnknownObjectException {
+               final Introspector relationship = loader.introspectorFromName("relationship");
+               relationship.setValue("related-to", type);
+               final List<Object> data = relationship.getValue("relationship-data");
+               for (Entry<String, Object> entry : map.entrySet()) {
+                       final Introspector dataObj = loader.introspectorFromName("relationship-data");
+                       dataObj.setValue("relationship-key", entry.getKey());
+                       dataObj.setValue("relationship-value", entry.getValue());
+                       data.add(dataObj.getUnderlyingObject());
+               }
+               
+               return relationship;
+       }
+       
+       private Introspector createIntrospectorFromMap(String targetNodeType, Map<String, Object> propHash) throws AAIUnknownObjectException {
+               final Introspector result = loader.introspectorFromName(targetNodeType);
+               for (Entry<String, Object> entry : propHash.entrySet()) {
+                       result.setValue(entry.getKey(), entry.getValue());
+               }
+               return result;
+       }
+       
+       private Optional<Vertex> reduceToSingleVertex(List<Vertex> vertices, Map<String, Object> map) throws AAIException {
+               if (vertices.isEmpty()){
+                       return Optional.empty();
+               } else if (vertices.size() > 1) {
+                       throw new AAIException("AAI_6112", "More than one Node found by getUniqueNode for params: " + map);
+               }
+               
+               return Optional.of(vertices.get(0));
+       }
+       public List<String> getVertexProperties(Vertex v) {
+               List<String> retArr = new ArrayList<>();
+               if( v == null ){
+                       retArr.add("null Node object passed to showPropertiesForNode()\n");
+               }
+               else {
+                       String nodeType;
+                       Object ob = v.<Object>property("aai-node-type").orElse(null);
+                       if( ob == null ){
+                               nodeType = "null";
+                       }
+                       else{
+                               nodeType = ob.toString();
+                       }
+                       
+                       retArr.add(" AAINodeType/VtxID for this Node = [" + nodeType + "/" + v.id() + "]");
+                       retArr.add(" Property Detail: ");
+                       Iterator<VertexProperty<Object>> pI = v.properties();
+                       while( pI.hasNext() ){
+                               VertexProperty<Object> tp = pI.next();
+                               Object val = tp.value();
+                               retArr.add("Prop: [" + tp.key() + "], val = [" + val + "] ");
+                       }
+               }
+               return retArr;
+       }
+}
index 6a8ad1b..18f43ba 100644 (file)
@@ -67,7 +67,7 @@ import com.thinkaurelius.titan.core.TitanVertex;
 
 public class DataGrooming {
 
-       private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(DataGrooming.class);
+       private static EELFLogger LOGGER;
        private static final String FROMAPPID = "AAI-DB";
        private static final String TRANSID = UUID.randomUUID().toString();
        private static int dupeGrpsDeleted = 0;
@@ -83,7 +83,7 @@ public class DataGrooming {
                Properties props = System.getProperties();
                props.setProperty(Configuration.PROPERTY_LOGGING_FILE_NAME, AAIConstants.AAI_DATA_GROOMING_LOGBACK_PROPS);
                props.setProperty(Configuration.PROPERTY_LOGGING_FILE_PATH, AAIConstants.AAI_HOME_ETC_APP_PROPERTIES);
-                               
+               LOGGER = EELFManager.getInstance().getLogger(DataGrooming.class);
                String ver = "version"; // Placeholder
                Boolean doAutoFix = false;
                Boolean edgesOnlyFlag = false;
@@ -557,7 +557,8 @@ public class DataGrooming {
                                                                                // NOTE --- We're just going to do the same check from the other direction - because
                                                                                //  there could be duplicates or the pointer going the other way could be broken
                                                                                ArrayList <TitanVertex> tmpListSec = new ArrayList <> ();
-                                                                               tmpListSec = getConnectedChildren( g, parentVtx ) ;
+                                                                               
+                                                                               tmpListSec = getConnectedChildrenOfOneType( g, parentVtx, nType ) ;
                                                                                Iterator<TitanVertex> vIter = tmpListSec.iterator();
                                                                                while (vIter.hasNext()) {
                                                                                        TitanVertex tmpV = vIter.next();
@@ -682,7 +683,7 @@ public class DataGrooming {
                                                LOGGER.warn(">>> WARNING trying to get next vertex on the vItor2 ");
                                                continue;
                                        }
-
+                                       
                                        counter++;
                                        String thisVertId = "";
                                        try {
@@ -1315,15 +1316,28 @@ public class DataGrooming {
         * @return the boolean
         */
        private static Boolean anyKeyFieldsMissing(String nType, Vertex v, DbMaps dbMaps) {
-
+               
                try {
+                       if( nType != null && !nType.trim().equals("") 
+                                       && !dbMaps.NodeKeyProps.containsKey(nType) ){
+                               // They gave us a non-empty nodeType but our NodeKeyProps does
+                               //   not have data for it.  Since we do not know what the
+                               //   key params are for this type of node, we will just
+                               //   return "false".
+                               String emsg = " -- WARNING -- Unrecognized nodeType: [" + nType 
+                                               + "].  We cannot determine required keys for this nType. ";
+                               // NOTE - this will be caught below and a "false" returned
+                               throw new AAIException("AAI_6121", emsg); 
+                       }                       
+                       
                        // Determine what the key fields are for this nodeType
                        Collection <String> keyPropNamesColl = new ArrayList <>();
                        if( dbMaps.NodeKeyProps.containsKey(nType) ){
                                keyPropNamesColl = dbMaps.NodeKeyProps.get(nType);
                        }
                        else {
-                               throw new AAIException("AAI_6105", "Required Property name(s) not found for nodeType = " + nType + ")"); 
+                               // NOTE - this will be caught below and a "false" returned
+                               throw new AAIException("AAI_6121", "Definition of key props not found for nodeType = " + nType + ")"); 
                        }
                        
                        Iterator<String> keyPropI = keyPropNamesColl.iterator();
@@ -1336,8 +1350,9 @@ public class DataGrooming {
                                }
                        }
                } catch (AAIException e) {
-                       // Something was wrong
-                       return true;
+                       // Something was wrong -- but since we weren't able to check
+                       // the keys, we will not declare that it is missing keys.
+                       return false;
                }
                return false;
        }
@@ -1769,14 +1784,12 @@ public class DataGrooming {
                                }
                        } else {
                                // More than one node have the same key fields since they may
-                               // depend on a parent node for
-                               // uniqueness. Since we're finding more than one, we want to
-                               // check to see if any of the
-                               // vertices that have this set of keys are also pointing at the
-                               // same 'parent' node.
+                               // depend on a parent node for uniqueness. Since we're finding 
+                               // more than one, we want to check to see if any of the
+                               // vertices that have this set of keys (and are the same nodeType)
+                               // are also pointing at the same 'parent' node.
                                // Note: for a given set of key data, it is possible that there
-                               // could be more than one set of
-                               // duplicates.
+                               // could be more than one set of duplicates.
                                HashMap<String, ArrayList<TitanVertex>> vertsGroupedByParentHash = groupVertsByDepNodes(
                                                transId, fromAppId, g, version, nType,
                                                checkVertList, dbMaps);
@@ -1849,10 +1862,10 @@ public class DataGrooming {
                        String transId, String fromAppId, TitanTransaction g, String version,
                        String nType, ArrayList<TitanVertex> passedVertList, DbMaps dbMaps)
                        throws AAIException {
-               // Given a list of Titan Vertices, group them together by dependent
-               // nodes. Ie. if given a list of
-               // ip address nodes (assumed to all have the same key info) they might
-               // sit under several different parent vertices.
+               // Given a list of Titan Vertices of one nodeType (see AAI-8956), group 
+               // them together by the parent node they depend on.
+               // Ie. if given a list of ip address nodes (assumed to all have the
+               // same key info) they might sit under several different parent vertices.
                // Under Normal conditions, there would only be one per parent -- but
                // we're trying to find duplicates - so we
                // allow for the case where more than one is under the same parent node.
@@ -1873,24 +1886,22 @@ public class DataGrooming {
                while (ntItr.hasNext()) {
                        depNodeTypeL.add(ntItr.next());
                }
-               // For each vertex, we want find its dependent vertex and add it to
-               // other vertexes that are dependent on that same guy.
+               // For each vertex, we want find its depended-on/parent vertex so we
+               // can track what other vertexes that are dependent on that same guy.
                if (passedVertList != null) {
                        Iterator<TitanVertex> iter = passedVertList.iterator();
                        while (iter.hasNext()) {
                                TitanVertex thisVert = iter.next();
-                               ArrayList<TitanVertex> connectedVList = getConnectedNodes( g, thisVert );
-                               Iterator<TitanVertex> connIter = connectedVList.iterator();
-                               while (connIter.hasNext()) {
-                                       TitanVertex tvCon = connIter.next();
-                                       String conNt = "";
-                                       Object obj = tvCon.<Object>property("aai-node-type").orElse(null);
+                               TitanVertex tmpParentVtx = getConnectedParent( g, thisVert );
+                               if( tmpParentVtx != null ) {
+                                       String parentNt = null;
+                                       Object obj = tmpParentVtx.<Object>property("aai-node-type").orElse(null);
                                        if (obj != null) {
-                                               conNt = obj.toString();
+                                               parentNt = obj.toString();
                                        }
-                                       if (depNTColl.contains(conNt)) {
+                                       if (depNTColl.contains(parentNt)) {
                                                // This must be the parent/dependent node
-                                               String parentVid = tvCon.id().toString();
+                                               String parentVid = tmpParentVtx.id().toString();
                                                if (retHash.containsKey(parentVid)) {
                                                        // add this vert to the list for this parent key
                                                        retHash.get(parentVid).add(thisVert);
@@ -2200,23 +2211,43 @@ public class DataGrooming {
        }// End of getConnectedNodes()
        
 
-       private static ArrayList <TitanVertex> getConnectedChildren( TitanTransaction graph, 
-                       TitanVertex startVtx ) throws AAIException{
+       private static ArrayList <TitanVertex> getConnectedChildrenOfOneType( TitanTransaction graph, 
+                       TitanVertex startVtx, String childNType ) throws AAIException{
                
                ArrayList <TitanVertex> childList = new ArrayList <> ();
-               
                Iterable <?> verts = startVtx.query().direction(Direction.OUT).has("isParent",true).vertices();
                Iterator <?> vertI = verts.iterator();
                TitanVertex tmpVtx = null;
                while( vertI != null && vertI.hasNext() ){
                        tmpVtx = (TitanVertex) vertI.next();
-                       childList.add(tmpVtx);
+                       Object ob = tmpVtx.<Object>property("aai-node-type").orElse(null);
+                       if (ob != null) {
+                               String tmpNt = ob.toString();
+                               if( tmpNt.equals(childNType)){
+                                       childList.add(tmpVtx);
+                               }
+                       }
                }
                
                return childList;               
 
-       }// End of getConnectedChildren()
+       }// End of getConnectedChildrenOfOneType()
+
+
+       private static TitanVertex getConnectedParent( TitanTransaction graph, 
+                       TitanVertex startVtx ) throws AAIException{
+               
+               TitanVertex parentVtx = null;
+               Iterable <?> verts = startVtx.query().direction(Direction.IN).has("isParent",true).vertices();
+               Iterator <?> vertI = verts.iterator();
+               while( vertI != null && vertI.hasNext() ){
+                       // Note - there better only be one!
+                       parentVtx = (TitanVertex) vertI.next();
+               }
+               
+               return parentVtx;               
 
+       }// End of getConnectedParent()
        
        
        
index a3273fb..14c58cb 100644 (file)
 
 package org.openecomp.aai.dbgen;
 
+import java.util.Properties;
+
+import org.openecomp.aai.dbmap.AAIGraph;
+import org.openecomp.aai.logging.ErrorLogHelper;
+import org.openecomp.aai.util.AAIConfig;
+import org.openecomp.aai.util.AAIConstants;
 import com.att.eelf.configuration.Configuration;
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
 import com.thinkaurelius.titan.core.TitanGraph;
 import com.thinkaurelius.titan.core.schema.TitanManagement;
-import org.openecomp.aai.dbmap.AAIGraph;
-import org.openecomp.aai.logging.ErrorLogHelper;
-import org.openecomp.aai.util.AAIConfig;
-import org.openecomp.aai.util.AAIConstants;
 
-import java.util.Properties;
+
 
 
 public class GenTester {
 
-       private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(GenTester.class);
+       private static EELFLogger LOGGER;
        
        /**
         * The main method.
@@ -50,20 +52,23 @@ public class GenTester {
                Properties props = System.getProperties();
                props.setProperty(Configuration.PROPERTY_LOGGING_FILE_NAME, AAIConstants.AAI_CREATE_DB_SCHEMA_LOGBACK_PROPS);
                props.setProperty(Configuration.PROPERTY_LOGGING_FILE_PATH, AAIConstants.AAI_HOME_ETC_APP_PROPERTIES);
+               LOGGER = EELFManager.getInstance().getLogger(GenTester.class);
                boolean addDefaultCR = true;
                
                try {   
                        AAIConfig.init();
                if (args != null && args.length > 0 ){
                        if( "genDbRulesOnly".equals(args[0]) ){
-                               ErrorLogHelper.logError("AAI_3100",
+                               ErrorLogHelper.logError("AAI_3100", 
                                                " This option is no longer supported. What was in DbRules is now derived from the OXM files. ");
                                return;
                        }
                        else if ( "GEN_DB_WITH_NO_SCHEMA".equals(args[0]) ){
                                // Note this is done to create an empty DB with no Schema so that
                                        // an HBase copyTable can be used to set up a copy of the db.
-                                       LOGGER.info("    ---- NOTE --- about to load a graph without doing any schema processing (takes a little while) --------   ");
+                                       String imsg = "    ---- NOTE --- about to load a graph without doing any schema processing (takes a little while) --------   ";
+                       System.out.println(imsg);
+                       LOGGER.info(imsg);
                                        graph = AAIGraph.getInstance().getGraph();
                                
                               if( graph == null ){
@@ -71,7 +76,9 @@ public class GenTester {
                                   return;
                               }
                               else {
-                                  LOGGER.auditEvent("Successfully loaded a Titan graph without doing any schema work.  ");
+                                  String amsg = "Successfully loaded a Titan graph without doing any schema work.  ";
+                                  System.out.println(amsg);
+                                  LOGGER.auditEvent(amsg);
                                   return;
                               }
                        } else if ("GEN_DB_WITH_NO_DEFAULT_CR".equals(args[0])) {
@@ -79,15 +86,24 @@ public class GenTester {
                        }
                        else {
                                ErrorLogHelper.logError("AAI_3000", "Unrecognized argument passed to GenTester.java: [" + args[0] + "]. ");
-                               LOGGER.error("Unrecognized argument passed to GenTester.java: [" + args[0] + "]. ");
-                               LOGGER.error("Either pass no argument for normal processing, or use 'GEN_DB_WITH_NO_SCHEMA'.");
+                               
+                               String emsg = "Unrecognized argument passed to GenTester.java: [" + args[0] + "]. ";
+                               System.out.println(emsg);
+                               LOGGER.error(emsg);
+                               
+                               emsg = "Either pass no argument for normal processing, or use 'GEN_DB_WITH_NO_SCHEMA'.";
+                               System.out.println(emsg);
+                               LOGGER.error(emsg);
+                               
                                return;
                        }
                }
                
                        //AAIConfig.init();
                        ErrorLogHelper.loadProperties();
-                       LOGGER.info("    ---- NOTE --- about to open graph (takes a little while)--------;");
+                       String imsg = "    ---- NOTE --- about to open graph (takes a little while)--------;";
+               System.out.println(imsg);
+               LOGGER.info(imsg);
                        graph = AAIGraph.getInstance().getGraph();
                
                        if( graph == null ){
@@ -95,11 +111,13 @@ public class GenTester {
                                return;
                        }
 
-              // Load the propertyKeys, indexes and edge-Labels into the DB
-              TitanManagement graphMgt = graph.openManagement();
+                       // Load the propertyKeys, indexes and edge-Labels into the DB
+                       TitanManagement graphMgt = graph.openManagement();
 
-              LOGGER.info("-- Loading new schema elements into Titan --");
-              SchemaGenerator.loadSchemaIntoTitan( graph, graphMgt, addDefaultCR );
+               imsg = "-- Loading new schema elements into Titan --";
+                       System.out.println(imsg);
+                       LOGGER.info(imsg);
+                       SchemaGenerator.loadSchemaIntoTitan( graph, graphMgt, addDefaultCR );
 
            } catch(Exception ex) {
                ErrorLogHelper.logError("AAI_4000", ex.getMessage());
@@ -107,10 +125,14 @@ public class GenTester {
            
 
            if( graph != null ){
-                   LOGGER.info("-- graph commit");
+                   String imsg = "-- graph commit";
+               System.out.println(imsg);
+               LOGGER.info(imsg);
                graph.tx().commit();
 
-                       LOGGER.info("-- graph shutdown ");
+                       imsg = "-- graph shutdown ";
+               System.out.println(imsg);
+               LOGGER.info(imsg);
                graph.close();
            }
            
index fa1d8e4..6360601 100644 (file)
 package org.openecomp.aai.dbgen;
 
 
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.google.common.collect.Multimap;
-import com.thinkaurelius.titan.core.*;
-import com.thinkaurelius.titan.core.schema.TitanManagement;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Set;
+
 import org.apache.tinkerpop.gremlin.structure.Vertex;
+
 import org.openecomp.aai.db.props.AAIProperties;
 import org.openecomp.aai.exceptions.AAIException;
 import org.openecomp.aai.introspection.Introspector;
@@ -37,11 +39,18 @@ import org.openecomp.aai.schema.enums.PropertyMetadata;
 import org.openecomp.aai.serialization.db.EdgeRule;
 import org.openecomp.aai.serialization.db.EdgeRules;
 import org.openecomp.aai.util.AAIConfig;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import com.google.common.collect.Multimap;
+import com.thinkaurelius.titan.core.Cardinality;
+import com.thinkaurelius.titan.core.Multiplicity;
+import com.thinkaurelius.titan.core.PropertyKey;
+import com.thinkaurelius.titan.core.TitanGraph;
+import com.thinkaurelius.titan.core.schema.TitanManagement;
 
-import java.util.*;
 
 
-public class SchemaGenerator {
+public class SchemaGenerator{
 
        private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(SchemaGenerator.class);
        private static boolean addDefaultCR = true;
@@ -72,6 +81,7 @@ public class SchemaGenerator {
        }
        catch (Exception ex){
                        LOGGER.error(" ERROR - Could not run AAIConfig.init(). ", ex);
+                       System.out.println(" ERROR - Could not run AAIConfig.init(). ");
                        System.exit(1);
                }
        
@@ -93,13 +103,18 @@ public class SchemaGenerator {
                        }
                } catch (AAIException e) {
                        LOGGER.error("could not get edge rules", e);
+                       System.out.println("could not get edge rules");
                        System.exit(1);
                }
                for( String label: labels){
                        if( graphMgmt.containsRelationType(label) ) {
-               LOGGER.debug(" EdgeLabel  [" + label + "] already existed. ");
+                               String dmsg = " EdgeLabel  [" + label + "] already existed. ";
+               System.out.println(dmsg);
+               LOGGER.debug(dmsg);
             } else {
-               LOGGER.debug("Making EdgeLabel: [" + label + "]");
+               String dmsg = "Making EdgeLabel: [" + label + "]";
+               System.out.println(dmsg);
+               LOGGER.debug(dmsg);
                graphMgmt.makeEdgeLabel(label).multiplicity(Multiplicity.valueOf("MULTI")).make();
             }
         }     
@@ -116,7 +131,9 @@ public class SchemaGenerator {
                                        dbPropName = alias.get();
                                }
                                if( graphMgmt.containsRelationType(propName) ){
-                       LOGGER.debug(" PropertyKey  [" + propName + "] already existed in the DB. ");
+                       String dmsg = " PropertyKey  [" + propName + "] already existed in the DB. ";
+                       System.out.println(dmsg);
+                       LOGGER.debug(dmsg);
                    } else {
                        Class<?> type = obj.getClass(propName);
                        Cardinality cardinality = Cardinality.SINGLE;
@@ -131,7 +148,9 @@ public class SchemaGenerator {
 
                        if (process) {
 
-                               LOGGER.info("Creating PropertyKey: [" + dbPropName + "], ["+ type.getSimpleName() + "], [" + cardinality + "]");
+                               String imsg = "Creating PropertyKey: [" + dbPropName + "], ["+ type.getSimpleName() + "], [" + cardinality + "]";
+                               System.out.println(imsg);
+                               LOGGER.info(imsg);
                                PropertyKey propK;
                                if (!seenProps.containsKey(dbPropName)) {
                                        propK = graphMgmt.makePropertyKey(dbPropName).dataType(type).cardinality(cardinality).make();
@@ -140,18 +159,26 @@ public class SchemaGenerator {
                                        propK = seenProps.get(dbPropName);
                                }
                                if (graphMgmt.containsGraphIndex(dbPropName)) {
-                                       LOGGER.debug(" Index  [" + dbPropName + "] already existed in the DB. ");
+                                       String dmsg = " Index  [" + dbPropName + "] already existed in the DB. ";
+                                       System.out.println(dmsg);
+                                       LOGGER.debug(dmsg);
                                } else {
                                        if( obj.getIndexedProperties().contains(propName) ){
                                                if( obj.getUniqueProperties().contains(propName) ){
-                                                                       LOGGER.info("Add Unique index for PropertyKey: [" + dbPropName + "]");
-                                                graphMgmt.buildIndex(dbPropName,Vertex.class).addKey(propK).unique().buildCompositeIndex();
+                                                                       imsg = "Add Unique index for PropertyKey: [" + dbPropName + "]";
+                                                       System.out.println(imsg);
+                                                       LOGGER.info(imsg);
+                                               graphMgmt.buildIndex(dbPropName,Vertex.class).addKey(propK).unique().buildCompositeIndex();
                                             } else {
-                                               LOGGER.info("Add index for PropertyKey: [" + dbPropName + "]");
-                                                graphMgmt.buildIndex(dbPropName,Vertex.class).addKey(propK).buildCompositeIndex();
+                                               imsg = "Add index for PropertyKey: [" + dbPropName + "]";
+                                                       System.out.println(imsg);
+                                                       LOGGER.info(imsg);
+                                               graphMgmt.buildIndex(dbPropName,Vertex.class).addKey(propK).buildCompositeIndex();
                                             }
                                         } else {
-                                               LOGGER.info("No index added for PropertyKey: [" + dbPropName + "]");
+                                               imsg = "No index added for PropertyKey: [" + dbPropName + "]";
+                                               System.out.println(imsg);
+                                               LOGGER.info(imsg);
                                         }
                                }
                        }
@@ -159,7 +186,10 @@ public class SchemaGenerator {
                        }
                }
         
-        LOGGER.info("-- About to call graphMgmt commit");
+        String imsg = "-- About to call graphMgmt commit";
+       System.out.println(imsg);
+       LOGGER.info(imsg);
+
         graphMgmt.commit();
     }// End of loadSchemaIntoTitan()
 
index 3f7dfb2..f4b5550 100644 (file)
@@ -397,7 +397,7 @@ public class DbEdgeRules {
                        .putAll("ctag-pool", "THIS_NODE_ONLY")
                        .putAll("subnet", "THIS_NODE_ONLY")
                        .putAll("sriov-vf", "THIS_NODE_ONLY")
-                       .putAll("vpn-binding", "ERROR_IF_ANY_IN_EDGES")
+                       .putAll("vpn-binding", "ERROR_4_IN_EDGES_OR_CASCADE")
                        .putAll("vnf-image", "ERROR_IF_ANY_IN_EDGES")
                        .putAll("site-pair-set", "CASCADE_TO_CHILDREN")
                        .putAll("routing-instance", "CASCADE_TO_CHILDREN")
index d3f4b0f..ff0ae17 100644 (file)
@@ -171,7 +171,7 @@ public abstract class Introspector implements Cloneable {
                                                nameClass = ClassUtils.primitiveToWrapper(nameClass);   
                                                result = nameClass.getConstructor(String.class).newInstance(obj.toString());
                                        }
-                                       if (obj.getClass().getName().equals("java.lang.String")) {
+                                       if (obj instanceof String) {
                                                result = nameClass.getConstructor(String.class).newInstance(obj);
                                        } else if (!this.isListType(name) && !this.isComplexType(name)){
                                                //box = obj.toString();
index 3877516..a8574d8 100644 (file)
@@ -38,7 +38,6 @@ import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContextFactory;
 
 import org.openecomp.aai.util.AAIConstants;
 
-
 public class ModelInjestor {
        
        private Map<Version, DynamicJAXBContext> versionContextMap = new HashMap<>();
index 89b03ea..db3dd5a 100644 (file)
 
 package org.openecomp.aai.introspection.sideeffect;
 
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Optional;
+import java.util.regex.Matcher;
+
+import javax.ws.rs.core.MultivaluedMap;
+
 import org.apache.tinkerpop.gremlin.structure.Vertex;
+
 import org.openecomp.aai.db.props.AAIProperties;
 import org.openecomp.aai.exceptions.AAIException;
 import org.openecomp.aai.introspection.Introspector;
@@ -31,17 +44,6 @@ import org.openecomp.aai.schema.enums.PropertyMetadata;
 import org.openecomp.aai.serialization.db.DBSerializer;
 import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
 
-import javax.ws.rs.core.MultivaluedMap;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Optional;
-import java.util.regex.Matcher;
-
 public class DataLinkReader extends SideEffect {
        
        public DataLinkReader(Introspector obj, Vertex self, TransactionalGraphEngine dbEngine, DBSerializer serializer) {
index 3b33be1..64a4d0c 100644 (file)
 
 package org.openecomp.aai.introspection.sideeffect;
 
-import org.apache.tinkerpop.gremlin.structure.Vertex;
-import org.openecomp.aai.exceptions.AAIException;
-import org.openecomp.aai.introspection.Introspector;
-import org.openecomp.aai.serialization.db.DBSerializer;
-import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
-
 import java.io.UnsupportedEncodingException;
 import java.lang.reflect.InvocationTargetException;
 import java.net.URISyntaxException;
 import java.util.LinkedHashSet;
 import java.util.Set;
 
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.Introspector;
+import org.openecomp.aai.serialization.db.DBSerializer;
+import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+
 public class SideEffectRunner {
 
        protected final TransactionalGraphEngine dbEngine;
index 7362b70..8a55ce8 100644 (file)
 
 package org.openecomp.aai.introspection.sideeffect;
 
-import org.openecomp.aai.exceptions.AAIException;
-import org.openecomp.aai.introspection.Introspector;
-import org.openecomp.aai.introspection.Wanderer;
-import org.openecomp.aai.serialization.db.DBSerializer;
-import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
-
 import java.io.UnsupportedEncodingException;
 import java.lang.reflect.InvocationTargetException;
 import java.net.URISyntaxException;
 import java.util.List;
 import java.util.Set;
 
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.Introspector;
+import org.openecomp.aai.introspection.Wanderer;
+import org.openecomp.aai.serialization.db.DBSerializer;
+import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
+
 class SideEffectRunnerHelper implements Wanderer {
 
        
@@ -77,7 +77,7 @@ class SideEffectRunnerHelper implements Wanderer {
 
        @Override
        public void modifyComplexList(List<Introspector> list, List<Object> listReference, Introspector parent,
-                                  Introspector child) {
+                       Introspector child) {
                // TODO Auto-generated method stub
 
        }
index cbe16b4..6d451cd 100644 (file)
@@ -165,14 +165,22 @@ public class IntrospectorValidator implements Wanderer {
                        }
                        
                        final Optional<String> visibility = obj.getPropertyMetadata(prop, PropertyMetadata.VISIBILITY);
-                       if(visibility.isPresent() && Visibility.internal.equals(Visibility.valueOf(visibility.get()))) {
+                       if(visibility.isPresent() && Visibility.internal.equals(Visibility.valueOf(visibility.get())) && obj.getValue(prop) != null) {
                                Issue message =
                                                this.buildMessage(Severity.ERROR, IssueType.PROPERTY_NOT_VISIBLE, "client attemptted to set property not visible: " + prop);
                                message.setIntrospector(obj);
                                message.setPropName(prop);
                                issues.add(message);
                                
-                       }                       
+                       }
+                       final Optional<String> requires = obj.getPropertyMetadata(prop, PropertyMetadata.REQUIRES);
+                       if (requires.isPresent() && (obj.getValue(prop) != null && obj.getValue(requires.get()) == null)) {
+                               Issue message =
+                                               this.buildMessage(Severity.CRITICAL, IssueType.DEPENDENT_PROP_NOT_FOUND, prop + " requires " + requires.get() + " to also be popluated.");
+                               message.setIntrospector(obj);
+                               message.setPropName(prop);
+                               issues.add(message);
+                       }
                }
                
                if (!relationshipChain.contains(obj.getDbName())) {
index 90fd4d5..5606926 100644 (file)
@@ -21,5 +21,5 @@
 package org.openecomp.aai.introspection.tools;
 
 public enum IssueType {
-       MISSING_REQUIRED_PROP, MISSING_KEY_PROP, EXCEEDED_ALLOWED_DEPTH, PROPERTY_NOT_VISIBLE
+       MISSING_REQUIRED_PROP, MISSING_KEY_PROP, EXCEEDED_ALLOWED_DEPTH, PROPERTY_NOT_VISIBLE, DEPENDENT_PROP_NOT_FOUND
 }
index e5f8247..f56a6fe 100644 (file)
 
 package org.openecomp.aai.logging;
 
+import org.openecomp.aai.logging.LoggingContext.LoggingField;
+
 import ch.qos.logback.classic.pattern.ClassicConverter;
 import ch.qos.logback.classic.spi.ILoggingEvent;
-import org.openecomp.aai.logging.LoggingContext.LoggingField;
 
 public class EcompElapsedTime extends ClassicConverter {
 
index cc2f1fa..c08b273 100644 (file)
 
 package org.openecomp.aai.logging;
 
+import org.openecomp.aai.logging.LoggingContext.LoggingField;
+
 import ch.qos.logback.classic.pattern.ClassicConverter;
 import ch.qos.logback.classic.spi.ILoggingEvent;
-import org.openecomp.aai.logging.LoggingContext.LoggingField;
 
 public class EcompStartTime extends ClassicConverter {
 
index 0affc78..37a1074 100644 (file)
 
 package org.openecomp.aai.logging;
 
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import org.apache.commons.lang.StringUtils;
-import org.openecomp.aai.exceptions.AAIException;
-import org.openecomp.aai.logging.LoggingContext.StatusCode;
-import org.openecomp.aai.util.AAIConstants;
-import org.openecomp.aai.util.MapperUtil;
-import org.slf4j.MDC;
-
-import javax.ws.rs.core.MediaType;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.Marshaller;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.StringWriter;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Properties;
+
+import javax.ws.rs.core.MediaType;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.Marshaller;
+
+import org.apache.commons.lang.StringUtils;
+import org.slf4j.MDC;
+
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.logging.LoggingContext.StatusCode;
+import org.openecomp.aai.util.AAIConstants;
+import org.openecomp.aai.util.MapperUtil;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
 
 /**
  * 
@@ -67,7 +74,7 @@ public class ErrorLogHelper {
         * @throws Exception the exception
         */
        public static void loadProperties() throws IOException, ErrorObjectFormatException {
-               final String filePath = AAIConstants.AAI_HOME_ETC_APP_PROPERTIES + "error.properties";
+               final String filePath = AAIConstants.AAI_HOME_ETC_APP_PROPERTIES + "error.properties"; 
                final InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(filePath);
                final Properties properties = new Properties();
                
@@ -105,8 +112,8 @@ public class ErrorLogHelper {
         *
         * @param key The key for the error in the error.properties file
         * @throws IOException 
-        * @throws ErrorObjectNotFoundException
-        * @throws ErrorObjectFormatException
+        * @throws ErrorObjectNotFoundException 
+        * @throws ErrorObjectFormatException 
         */
        public static ErrorObject getErrorObject(String code) throws ErrorObjectNotFoundException {
                
@@ -130,8 +137,8 @@ public class ErrorLogHelper {
         * @param are must have a restError value whose numeric value must match what should be returned in the REST API
         * @param variables optional list of variables to flesh out text in error string
         * @return appropriately formatted JSON response per the REST API spec.
-        * @throws ErrorObjectFormatException
-        * @throws ErrorObjectNotFoundException
+        * @throws ErrorObjectFormatException 
+        * @throws ErrorObjectNotFoundException 
         * @throws IOException 
         * @deprecated
         */
@@ -152,8 +159,8 @@ public class ErrorLogHelper {
         * @param are must have a restError value whose numeric value must match what should be returned in the REST API
         * @param variables optional list of variables to flesh out text in error string
         * @return appropriately formatted JSON response per the REST API spec.
-        * @throws ErrorObjectFormatException
-        * @throws ErrorObjectNotFoundException
+        * @throws ErrorObjectFormatException 
+        * @throws ErrorObjectNotFoundException 
         * @throws IOException 
         */
        public static String getRESTAPIErrorResponse(List<MediaType> acceptHeadersOrig, AAIException are, ArrayList<String> variables) {
@@ -326,8 +333,8 @@ public class ErrorLogHelper {
         * @param variables the variables
         * @param logline the logline
         * @return the RESTAPI error response with logging
-        * @throws ErrorObjectFormatException
-        * @throws ErrorObjectNotFoundException
+        * @throws ErrorObjectFormatException 
+        * @throws ErrorObjectNotFoundException 
         * @throws IOException 
         */
        public static String getRESTAPIErrorResponseWithLogging(List<MediaType> acceptHeadersOrig, AAIException are, ArrayList<String> variables) {
@@ -344,8 +351,8 @@ public class ErrorLogHelper {
         * @param acceptHeaders the accept headers
         * @param areList the are list
         * @return the RESTAPI info response
-        * @throws ErrorObjectFormatException
-        * @throws ErrorObjectNotFoundException
+        * @throws ErrorObjectFormatException 
+        * @throws ErrorObjectNotFoundException 
         * @throws IOException 
         */
        public static Object getRESTAPIInfoResponse(List<MediaType> acceptHeaders, HashMap<AAIException,ArrayList<String>> areList) {
@@ -355,10 +362,10 @@ public class ErrorLogHelper {
                org.openecomp.aai.domain.restResponseInfo.ObjectFactory factory = new org.openecomp.aai.domain.restResponseInfo.ObjectFactory();
                org.openecomp.aai.domain.restResponseInfo.Info info = factory.createInfo();
                org.openecomp.aai.domain.restResponseInfo.Info.ResponseMessages responseMessages = factory.createInfoResponseMessages();
-               Iterator<Entry<AAIException, ArrayList<String>>> it = areList.entrySet().iterator();
-
+               Iterator<Map.Entry<AAIException, ArrayList<String>>> it = areList.entrySet().iterator();
+               
                while (it.hasNext()) {
-                       Entry<AAIException,ArrayList<String>> pair = (Entry<AAIException, ArrayList<String>>)it.next();
+                       Map.Entry<AAIException,ArrayList<String>> pair = (Map.Entry<AAIException, ArrayList<String>>)it.next();
                        AAIException are = pair.getKey();
                        ArrayList<String> variables = pair.getValue();
 
@@ -436,8 +443,8 @@ public class ErrorLogHelper {
                 * @param are must have a restError value whose numeric value must match what should be returned in the REST API
                 * @param variables optional list of variables to flesh out text in error string
                 * @return appropriately formatted JSON response per the REST API spec.
-                * @throws ErrorObjectFormatException
-                * @throws ErrorObjectNotFoundException
+                * @throws ErrorObjectFormatException 
+                * @throws ErrorObjectNotFoundException 
                 * @throws IOException 
                 */
                public static String getRESTAPIPolicyErrorResponseXML(AAIException are, ArrayList<String> variables) {
index e1d641f..1a46bb2 100644 (file)
 
 package org.openecomp.aai.logging;
 
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.slf4j.MDC;
-
 import java.net.InetAddress;
 import java.net.UnknownHostException;
+import java.util.HashMap;
 import java.util.Iterator;
+import java.util.Map;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
 
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.slf4j.MDC;
+
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+
 public class LoggingContext {
 
        public enum StatusCode {
@@ -41,7 +45,7 @@ public class LoggingContext {
 
        private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(LoggingContext.class);
 
-       private static final String PREVIOUS_CONTEXT_KEY = "_PREVIOUS_CONTEXT";
+       private static final String PREVIOUS_CONTEXTS_KEY = "_PREVIOUS_CONTEXTS";
 
        //ECOMP Specific Log Event Fields
        public static enum LoggingField {
@@ -97,6 +101,14 @@ public class LoggingContext {
                MDC.put(LoggingField.START_TIME.toString(), LogFormatTools.getCurrentDateTime());
        }
 
+       public static UUID requestId() {
+               final String sUuid = MDC.get(LoggingField.REQUEST_ID.toString());
+
+               if (sUuid == null) return null;
+
+               return UUID.fromString(sUuid);
+       }
+
        public static void requestId(UUID requestId) {
                MDC.put(LoggingField.REQUEST_ID.toString(), requestId.toString());
        }
@@ -143,6 +155,10 @@ public class LoggingContext {
                MDC.put(LoggingField.RESPONSE_DESCRIPTION.toString(), responseDescription);
        }
 
+       public static Object instanceUuid() {
+               return UUID.fromString(MDC.get(LoggingField.INSTANCE_UUID.toString()));
+       }
+
        public static void instanceUuid(UUID instanceUuid) {
                MDC.put(LoggingField.INSTANCE_UUID.toString(), instanceUuid.toString());
        }
@@ -193,6 +209,10 @@ public class LoggingContext {
                MDC.put(LoggingField.PROCESS_KEY.toString(), processKey);
        }
 
+       public static String customField1() {
+               return MDC.get(LoggingField.CUSTOM_FIELD_1.toString());
+       }
+
        public static void customField1(String customField1) {
                MDC.put(LoggingField.CUSTOM_FIELD_1.toString(), customField1);
        }
@@ -223,9 +243,11 @@ public class LoggingContext {
 
        public static double stopWatchStop() {
                final long stopWatchEnd = System.nanoTime();
-               final Long stopWatchStart = Long.valueOf(MDC.get(LoggingField.STOP_WATCH_START.toString()));
+               final String rawStopWatchStart = MDC.get(LoggingField.STOP_WATCH_START.toString());
 
-               if (stopWatchStart == null) throw new StopWatchNotStartedException();
+               if (rawStopWatchStart == null) throw new StopWatchNotStartedException();
+
+               final Long stopWatchStart = Long.valueOf(rawStopWatchStart);
 
                MDC.remove(LoggingField.STOP_WATCH_START.toString());
 
@@ -263,19 +285,36 @@ public class LoggingContext {
                        }
                }
 
-               MDC.put("_PREVIOUS_CONTEXT", context.toString());
+               final String rawJsonArray = MDC.get(PREVIOUS_CONTEXTS_KEY);
+
+               if (rawJsonArray == null) {
+                       final JSONArray stack = new JSONArray()
+                                                                                       .put(context);
+
+                       MDC.put(PREVIOUS_CONTEXTS_KEY, stack.toString());
+               } else {
+                       try {
+                               final JSONArray stack = new JSONArray(rawJsonArray)
+                                                                                               .put(context);
+
+                               MDC.put(PREVIOUS_CONTEXTS_KEY, stack.toString());
+                       } catch (JSONException e) {
+                               //Ignore
+                       }
+               }
        }
 
        public static void restore() {
                
-               final String rawPreviousContext = MDC.get(PREVIOUS_CONTEXT_KEY);
+               final String rawPreviousContexts = MDC.get(PREVIOUS_CONTEXTS_KEY);
        
-               if (rawPreviousContext == null) {
+               if (rawPreviousContexts == null) {
                        throw new LoggingContextNotExistsException();
                }
 
                try {
-                       final JSONObject previousContext = new JSONObject(rawPreviousContext);
+                       final JSONArray previousContexts = new JSONArray(rawPreviousContexts);
+                       final JSONObject previousContext = previousContexts.getJSONObject(previousContexts.length() - 1);
 
                        @SuppressWarnings("unchecked")
                        final Iterator<String> keys = previousContext.keys();
@@ -290,10 +329,42 @@ public class LoggingContext {
                                        //                      or the value is invalid (they are all strings)
                                }
                        }
-       
-                       MDC.remove(PREVIOUS_CONTEXT_KEY);
+
+                       MDC.put(PREVIOUS_CONTEXTS_KEY, removeLast(previousContexts).toString());
                } catch (JSONException e) {
                        //Ignore, the previousContext is serialized from a JSONObject
                }
        }
+
+       /**
+        * AJSC declares an ancient version of org.json:json in one of the parent POMs of this project.
+        * I tried to update our version of that library in our POM, but it's ignored because of the way
+        * AJSC has organized their <dependencies>.  Had they put it into the <dependencyManagement> section,
+        * this method would not be necessary.
+        */
+       private static JSONArray removeLast(JSONArray previousContexts) {
+               final JSONArray result = new JSONArray();
+
+               for (int i = 0; i < previousContexts.length() - 1; i++) {
+                       try {
+                               result.put(previousContexts.getJSONObject(i));
+                       } catch (JSONException e) {
+                               //Ignore - not possible
+                       }
+               }
+
+               return result;
+       }
+
+       public static Map<String, String> getCopy() {
+               final Map<String, String> copy = new HashMap<String, String> ();
+
+               for (LoggingField field : LoggingField.values()) {
+                       final String value = MDC.get(field.toString());
+
+                       if (value != null) copy.put(field.toString(), value);
+               }
+
+               return copy;
+       }
 }
index 489774f..f542bef 100644 (file)
@@ -95,16 +95,16 @@ public class LegacyQueryParser extends QueryParser implements Parsable {
        public LegacyQueryParser(Loader loader, QueryBuilder queryBuilder) {
                super(loader, queryBuilder);
        }
-       
+
        /**
         * @throws AAIException 
         * @{inheritDoc}
         */
        @Override
-       public void processObject(Introspector obj, MultivaluedMap<String, String> uriKeys) throws AAIException {
+       public void processObject(Introspector obj, EdgeType type, MultivaluedMap<String, String> uriKeys) throws AAIException {
                if (previous != null) {
                        this.parentResourceType = previous.getDbName();
-                       queryBuilder.createEdgeTraversal(EdgeType.TREE, previous, obj);
+                       queryBuilder.createEdgeTraversal(type, previous, obj);
                }
                if (previous == null) {
                        queryBuilder.createDBQuery(obj);
@@ -114,18 +114,18 @@ public class LegacyQueryParser extends QueryParser implements Parsable {
                        this.handleUriKeys(obj, uriKeys);
                }
                previous = obj;
-               this.resultResource = obj.getDbName();
+               this.resultResource = obj.getDbName();          
        }
        
        /**
         * @{inheritDoc}
         */
        @Override
-       public void processContainer(Introspector obj, MultivaluedMap<String, String> uriKeys, boolean isFinalContainer) throws AAIException {
+       public void processContainer(Introspector obj, EdgeType type, MultivaluedMap<String, String> uriKeys, boolean isFinalContainer) throws AAIException {
                if (isFinalContainer) {
                        if (previous != null) {
                                this.parentResourceType = previous.getDbName();
-                               queryBuilder.createEdgeTraversal(EdgeType.TREE, previous, obj);
+                               queryBuilder.createEdgeTraversal(type, previous, obj);
                        }
                        
                        if (previous == null) {
@@ -146,7 +146,6 @@ public class LegacyQueryParser extends QueryParser implements Parsable {
                        this.containerResource = obj.getName();
                }
        }
-       
        private void handleUriKeys(Introspector obj, MultivaluedMap<String, String> uriKeys) throws AAIException {
                for (String key : uriKeys.keySet()) {
                        //to validate whether this property exists
index f568f22..90d9fef 100644 (file)
@@ -22,6 +22,8 @@ package org.openecomp.aai.parsers.query;
 
 import java.net.URI;
 
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+
 import org.openecomp.aai.db.props.AAIProperties;
 import org.openecomp.aai.introspection.Loader;
 import org.openecomp.aai.introspection.LoaderFactory;
@@ -34,9 +36,9 @@ public abstract class QueryParser {
 
        protected Loader loader = null;
        protected Loader latestLoader = null;
-       protected QueryBuilder queryBuilder = null;
+       protected QueryBuilder<Vertex> queryBuilder = null;
        
-       protected QueryBuilder parentQueryBuilder = null;
+       protected QueryBuilder<Vertex> parentQueryBuilder = null;
        
        protected URI uri = null;
        
@@ -53,7 +55,7 @@ public abstract class QueryParser {
         * @param queryBuilder the query builder
         * @param uri the uri
         */
-       protected QueryParser(Loader loader, QueryBuilder queryBuilder, URI uri) {
+       protected QueryParser(Loader loader, QueryBuilder<Vertex> queryBuilder, URI uri) {
                this.uri = uri;
                this.queryBuilder = queryBuilder;
                this.loader = loader;
@@ -66,7 +68,7 @@ public abstract class QueryParser {
         * @param loader the loader
         * @param queryBuilder the query builder
         */
-       protected QueryParser(Loader loader, QueryBuilder queryBuilder) {
+       protected QueryParser(Loader loader, QueryBuilder<Vertex> queryBuilder) {
                this.queryBuilder = queryBuilder;
                this.loader = loader;
                this.latestLoader = LoaderFactory.createLoaderForVersion(loader.getModelType(), AAIProperties.LATEST);
@@ -105,7 +107,7 @@ public abstract class QueryParser {
         *
         * @return the query builder
         */
-       public QueryBuilder getQueryBuilder() {
+       public QueryBuilder<Vertex> getQueryBuilder() {
                return this.queryBuilder;
        }
        
@@ -123,7 +125,7 @@ public abstract class QueryParser {
         *
         * @return the parent query builder
         */
-       public QueryBuilder getParentQueryBuilder() {
+       public QueryBuilder<Vertex> getParentQueryBuilder() {
                if (this.parentQueryBuilder != null) {
                        return this.parentQueryBuilder;
                } else {
index 2d5dea7..203de01 100644 (file)
@@ -109,28 +109,47 @@ public class UniqueURIQueryParser extends QueryParser implements Parsable {
        public UniqueURIQueryParser(Loader loader, QueryBuilder queryBuilder) {
                super(loader, queryBuilder);
        }
+       
+       /**
+        * @{inheritDoc}
+        */
+       @Override
+       public void processNamespace(Introspector obj) {
+       
+       }
 
+       /**
+        * @{inheritDoc}
+        */
+       @Override
+       public String getCloudRegionTransform() {
+               return "add";
+       }
 
        /**
         * @{inheritDoc}
         */
        @Override
-       public void processObject(Introspector obj, MultivaluedMap<String, String> uriKeys) {
+       public boolean useOriginalLoader() {
+               return false;
+       }
+
+
+       @Override
+       public void processObject(Introspector obj, EdgeType type, MultivaluedMap<String, String> uriKeys)
+                       throws AAIException {
                this.resultResource = obj.getDbName();
                if (previous != null) {
                        this.parentName = previous.getDbName();
                }
                this.previous  = obj;
-               
-               
+                               
        }
 
 
-       /**
-        * @{inheritDoc}
-        */
        @Override
-       public void processContainer(Introspector obj, MultivaluedMap<String, String> uriKeys, boolean isFinalContainer) {
+       public void processContainer(Introspector obj, EdgeType type, MultivaluedMap<String, String> uriKeys,
+                       boolean isFinalContainer) throws AAIException {
                this.containerResource = obj.getName();
                if (previous != null) {
                        this.parentName = previous.getDbName();
@@ -140,32 +159,7 @@ public class UniqueURIQueryParser extends QueryParser implements Parsable {
                        this.resultResource = obj.getChildDBName();
                        
                        this.finalContainer = obj;
-               }
-               
-       }
-       
-       /**
-        * @{inheritDoc}
-        */
-       @Override
-       public void processNamespace(Introspector obj) {
-       
-       }
-
-       /**
-        * @{inheritDoc}
-        */
-       @Override
-       public String getCloudRegionTransform() {
-               return "add";
-       }
-
-       /**
-        * @{inheritDoc}
-        */
-       @Override
-       public boolean useOriginalLoader() {
-               return false;
+               }               
        }
        
 }
index 7c51142..57a8d8a 100644 (file)
@@ -24,6 +24,7 @@ import javax.ws.rs.core.MultivaluedMap;
 
 import org.openecomp.aai.exceptions.AAIException;
 import org.openecomp.aai.introspection.Introspector;
+import org.openecomp.aai.serialization.db.EdgeType;
 
 /**
  * The Interface Parsable.
@@ -31,14 +32,13 @@ import org.openecomp.aai.introspection.Introspector;
 public interface Parsable {
 
        /**
-        * Process object.
-        *
-        * @param obj the obj
-        * @param uriKeys the uri keys
-        * @throws AAIException 
+        * 
+        * @param obj
+        * @param type
+        * @param uriKeys
+        * @throws AAIException
         */
-       public void processObject(Introspector obj, MultivaluedMap<String, String> uriKeys) throws AAIException;
-       
+       public void processObject(Introspector obj, EdgeType type, MultivaluedMap<String, String> uriKeys) throws AAIException;
        /**
         * Process container.
         *
@@ -47,8 +47,8 @@ public interface Parsable {
         * @param isFinalContainer the is final container
         * @throws AAIException the AAI exception
         */
-       public void processContainer(Introspector obj, MultivaluedMap<String, String> uriKeys, boolean isFinalContainer) throws AAIException;
-       
+       public void processContainer(Introspector obj, EdgeType type, MultivaluedMap<String, String> uriKeys, boolean isFinalContainer) throws AAIException;
+
        /**
         * Process namespace.
         *
index e796732..8f86717 100644 (file)
@@ -36,7 +36,9 @@ import org.openecomp.aai.introspection.Loader;
 import org.openecomp.aai.introspection.LoaderFactory;
 import org.openecomp.aai.introspection.Version;
 import org.openecomp.aai.logging.ErrorLogHelper;
+import org.openecomp.aai.rest.RestTokens;
 import org.openecomp.aai.schema.enums.ObjectMetadata;
+import org.openecomp.aai.serialization.db.EdgeType;
 import org.openecomp.aai.util.AAIConfig;
 
 
@@ -130,10 +132,35 @@ public class URIParser {
                        Set<String> keys = null;
                        String part = "";
                        Introspector previousObj = null;
-
+                       EdgeType type = EdgeType.TREE;
                        for (int i = 0; i < parts.length;) {
                                part = parts[i];
                                Introspector introspector = null;
+                               if (part.equals(RestTokens.COUSIN.toString())) {
+                                       if (i == parts.length-1) {
+                                               throw new AAIException("AAI_3000", uri + " not a valid path. Cannot end in " + RestTokens.COUSIN);
+                                       }
+                                       introspector = loader.introspectorFromName(parts[i+1]);
+                                       if (previousObj.isContainer() && introspector.isContainer()) {
+                                               throw new AAIException("AAI_3000", uri + " not a valid path. Cannot chain plurals together");
+                                       }
+                                       MultivaluedMap<String, String> uriKeys = new MultivaluedHashMap<>();
+                                       if (i == parts.length-2 && queryParams != null) {
+                                               Set<String> queryKeys = queryParams.keySet();
+                                               for (String key : queryKeys) {
+                                                       uriKeys.put(key, queryParams.get(key));
+                                                       
+                                               }
+                                       }
+                                       if (introspector.isContainer()) {
+                                               boolean isFinalContainer = i == parts.length-2;
+                                               p.processContainer(introspector, EdgeType.COUSIN, uriKeys, isFinalContainer);
+                                       }
+                                       previousObj = introspector;
+                                       type = EdgeType.COUSIN;
+                                       i+=2;
+                                       continue;
+                               }
                                introspector = loader.introspectorFromName(part);
                                if (introspector != null) {
                                        
@@ -172,8 +199,8 @@ public class URIParser {
                                                        }
                                                }
                                                
-                                               p.processObject(introspector, uriKeys);
-       
+                                               p.processObject(introspector, type, uriKeys);
+                                               type = EdgeType.TREE;
                                        } else if (introspector.isContainer()) {
                                                boolean isFinalContainer = i == parts.length-1;
                                                MultivaluedMap<String, String> uriKeys = new MultivaluedHashMap<>();
@@ -185,7 +212,7 @@ public class URIParser {
                                                                
                                                        }
                                                }
-                                               p.processContainer(introspector, uriKeys, isFinalContainer);
+                                               p.processContainer(introspector, type, uriKeys, isFinalContainer);
                                                
                                                i++; 
                                        } else {
index 4bb4ab9..ae6ff60 100644 (file)
@@ -30,6 +30,7 @@ import javax.ws.rs.core.MultivaluedMap;
 import org.openecomp.aai.exceptions.AAIException;
 import org.openecomp.aai.introspection.Introspector;
 import org.openecomp.aai.introspection.Loader;
+import org.openecomp.aai.serialization.db.EdgeType;
 import com.google.common.base.Joiner;
 
 /**
@@ -71,27 +72,6 @@ public class URIToDBKey implements Parsable {
                }
        }*/
        
-       /**
-        * @{inheritDoc}
-        */
-       @Override
-       public void processObject (Introspector obj, MultivaluedMap<String, String> uriKeys) {
-               
-               dbKeys.add(obj.getDbName());
-
-               for (String key : uriKeys.keySet()) {
-                       dbKeys.add(uriKeys.getFirst(key).toString());
-               }
-       }
-       
-       /**
-        * @{inheritDoc}
-        */
-       @Override
-       public void processContainer (Introspector obj, MultivaluedMap<String, String> uriKeys, boolean isFinalContainer) {
-               
-       }
-       
        /**
         * @{inheritDoc}
         */
@@ -124,4 +104,20 @@ public class URIToDBKey implements Parsable {
        public boolean useOriginalLoader() {
                return false;
        }
+
+       @Override
+       public void processObject(Introspector obj, EdgeType type, MultivaluedMap<String, String> uriKeys)
+                       throws AAIException {
+
+               dbKeys.add(obj.getDbName());
+
+               for (String key : uriKeys.keySet()) {
+                       dbKeys.add(uriKeys.getFirst(key).toString());
+               }               
+       }
+
+       @Override
+       public void processContainer(Introspector obj, EdgeType type, MultivaluedMap<String, String> uriKeys,
+                       boolean isFinalContainer) throws AAIException {
+       }
 }
index defd128..9906437 100644 (file)
@@ -31,6 +31,7 @@ import org.openecomp.aai.exceptions.AAIException;
 import org.openecomp.aai.introspection.Introspector;
 import org.openecomp.aai.introspection.Loader;
 import org.openecomp.aai.restcore.HttpMethod;
+import org.openecomp.aai.serialization.db.EdgeType;
 import com.google.common.base.CaseFormat;
 import com.google.common.base.Joiner;
 
@@ -64,27 +65,6 @@ public class URIToExtensionInformation implements Parsable {
                this.methodName = Joiner.on("").join(this.pieces);
        }
        
-       /**
-        * @{inheritDoc}
-        */
-       @Override
-       public void processObject(Introspector obj, MultivaluedMap<String, String> uriKeys) {
-               String upperCamel = toUpperCamel(obj.getDbName());
-               if (topObject.equals("")) {
-                       topObject = upperCamel;
-               }
-               pieces.add(upperCamel);
-
-       }
-
-       /**
-        * @{inheritDoc}
-        */
-       @Override
-       public void processContainer(Introspector obj, MultivaluedMap<String, String> uriKeys, boolean isFinalContainer) {
-               pieces.add(toUpperCamel(obj.getName()));
-       }
-       
        /**
         * @{inheritDoc}
         */
@@ -166,4 +146,20 @@ public class URIToExtensionInformation implements Parsable {
                result = CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_CAMEL, name);
                return result;
        }
+
+       @Override
+       public void processObject(Introspector obj, EdgeType type, MultivaluedMap<String, String> uriKeys)
+                       throws AAIException {
+               String upperCamel = toUpperCamel(obj.getDbName());
+               if (topObject.equals("")) {
+                       topObject = upperCamel;
+               }
+               pieces.add(upperCamel);
+       }
+
+       @Override
+       public void processContainer(Introspector obj, EdgeType type, MultivaluedMap<String, String> uriKeys,
+                       boolean isFinalContainer) throws AAIException {
+               pieces.add(toUpperCamel(obj.getName()));
+       }
 }
index 5b8d25c..cf011bf 100644 (file)
@@ -32,6 +32,7 @@ import org.openecomp.aai.introspection.Introspector;
 import org.openecomp.aai.introspection.Loader;
 import org.openecomp.aai.introspection.Version;
 import org.openecomp.aai.schema.enums.ObjectMetadata;
+import org.openecomp.aai.serialization.db.EdgeType;
 
 /**
  * Given a URI this class returns an object, or series of nested objects
@@ -90,61 +91,6 @@ public class URIToObject implements Parsable {
 
        }
        
-       /**
-        * @{inheritDoc}
-        */
-       @Override
-       public void processObject(Introspector obj, MultivaluedMap<String, String> uriKeys) {
-               
-               if (this.entityName == null) {
-                       this.topEntityName = obj.getDbName();
-                       this.topEntity = obj;
-               }
-               this.entityName = obj.getDbName();
-               this.entity = obj;
-               this.parentList = (List<Object>)this.previous.getValue(obj.getName());
-               this.parentList.add(entity.getUnderlyingObject());
-               
-               for (String key : uriKeys.keySet()) {
-                       entity.setValue(key, uriKeys.getFirst(key));
-               }
-               try {
-                       if (relatedObjects.containsKey(entity.getObjectId())) {
-                               Introspector relatedObject = relatedObjects.get(entity.getObjectId());
-                               String nameProp = relatedObject.getMetadata(ObjectMetadata.NAME_PROPS);
-                               if (nameProp == null) {
-                                       nameProp = "";
-                               }
-                               if (nameProp != null && !nameProp.equals("")) {
-                                       String[] nameProps = nameProp.split(",");
-                                       for (String prop : nameProps) {
-                                               entity.setValue(prop, relatedObject.getValue(prop));
-                                       }
-                               }
-                       }
-               } catch (UnsupportedEncodingException e) {
-               }
-               this.previous = entity;
-               
-       }
-       
-       /**
-        * @{inheritDoc}
-        */
-       @Override
-       public void processContainer(Introspector  obj, MultivaluedMap<String, String> uriKeys, boolean isFinalContainer) {
-               
-               this.previous = obj;
-
-               if (this.entity != null) {
-                       this.entity.setValue(obj.getName(), obj.getUnderlyingObject());
-               } else {
-                       this.entity = obj;
-                       this.topEntity = obj;
-               }
-               
-       }
-       
        /**
         * @{inheritDoc}
         */
@@ -226,4 +172,50 @@ public class URIToObject implements Parsable {
        public Loader getLoader() {
                return this.loader;
        }
+       @Override
+       public void processObject(Introspector obj, EdgeType type, MultivaluedMap<String, String> uriKeys)
+                       throws AAIException {
+
+               if (this.entityName == null) {
+                       this.topEntityName = obj.getDbName();
+                       this.topEntity = obj;
+               }
+               this.entityName = obj.getDbName();
+               this.entity = obj;
+               this.parentList = (List<Object>)this.previous.getValue(obj.getName());
+               this.parentList.add(entity.getUnderlyingObject());
+               
+               for (String key : uriKeys.keySet()) {
+                       entity.setValue(key, uriKeys.getFirst(key));
+               }
+               try {
+                       if (relatedObjects.containsKey(entity.getObjectId())) {
+                               Introspector relatedObject = relatedObjects.get(entity.getObjectId());
+                               String nameProp = relatedObject.getMetadata(ObjectMetadata.NAME_PROPS);
+                               if (nameProp == null) {
+                                       nameProp = "";
+                               }
+                               if (nameProp != null && !nameProp.equals("")) {
+                                       String[] nameProps = nameProp.split(",");
+                                       for (String prop : nameProps) {
+                                               entity.setValue(prop, relatedObject.getValue(prop));
+                                       }
+                               }
+                       }
+               } catch (UnsupportedEncodingException e) {
+               }
+               this.previous = entity;
+       }
+       @Override
+       public void processContainer(Introspector obj, EdgeType type, MultivaluedMap<String, String> uriKeys,
+                       boolean isFinalContainer) throws AAIException {
+               this.previous = obj;
+
+               if (this.entity != null) {
+                       this.entity.setValue(obj.getName(), obj.getUnderlyingObject());
+               } else {
+                       this.entity = obj;
+                       this.topEntity = obj;
+               }
+       }
 }
index 83a3a62..853b787 100644 (file)
@@ -33,6 +33,7 @@ import org.openecomp.aai.introspection.Introspector;
 import org.openecomp.aai.introspection.Loader;
 import org.openecomp.aai.introspection.Version;
 import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
+import org.openecomp.aai.serialization.db.EdgeType;
 import org.openecomp.aai.util.AAIApiServerURLBase;
 import org.openecomp.aai.workarounds.LegacyURITransformer;
 
@@ -102,35 +103,6 @@ public class URIToRelationshipObject implements Parsable {
        public String getCloudRegionTransform(){
                return "remove";
        }
-       
-       /**
-        * @{inheritDoc}
-        */
-       @Override
-       public void processObject(Introspector obj, MultivaluedMap<String, String> uriKeys) {
-               
-
-               for (String key : obj.getKeys()) {
-                       try {
-                               Introspector data = loader.introspectorFromName("relationship-data");
-                               data.setValue("relationship-key", obj.getDbName() + "." + key);
-                               data.setValue("relationship-value", obj.getValue(key));
-                               
-                               ((List<Object>)relationship.getValue("relationship-data")).add(data.getUnderlyingObject());
-                       } catch (AAIUnknownObjectException e) {
-                               throw new RuntimeException("Fatal error - relationship-data object not found!");
-                       }
-               }
-               relationship.setValue("related-to", obj.getDbName());
-       }
-       
-       /**
-        * @{inheritDoc}
-        */
-       @Override
-       public void processContainer(Introspector obj, MultivaluedMap<String, String> uriKeys, boolean isFinalContainer) {
-               
-       }
 
        /**
         * @{inheritDoc}
@@ -163,9 +135,36 @@ public class URIToRelationshipObject implements Parsable {
                
                URI relatedLink = new URI(this.baseURL + this.originalVersion + "/" + originalUri);
                this.relationship.setValue("related-link", relatedLink);
-               
-               
+               if (this.originalVersion.compareTo(Version.v10) >= 0) {
+                       //only return the path section of the URI past v10
+                       relatedLink = new URI(relatedLink.getRawPath());
+               }
+
+               this.relationship.setValue("related-link", relatedLink.toString());
+
                this.result = relationship;
                return this.result;
        }
+
+       @Override
+       public void processObject(Introspector obj, EdgeType type, MultivaluedMap<String, String> uriKeys)
+                       throws AAIException {
+               for (String key : obj.getKeys()) {
+                       try {
+                               Introspector data = loader.introspectorFromName("relationship-data");
+                               data.setValue("relationship-key", obj.getDbName() + "." + key);
+                               data.setValue("relationship-value", obj.getValue(key));
+
+                               ((List<Object>)relationship.getValue("relationship-data")).add(data.getUnderlyingObject());
+                       } catch (AAIUnknownObjectException e) {
+                               throw new RuntimeException("Fatal error - relationship-data object not found!");
+                       }
+               }
+               relationship.setValue("related-to", obj.getDbName());
+       }
+
+       @Override
+       public void processContainer(Introspector obj, EdgeType type, MultivaluedMap<String, String> uriKeys,
+                       boolean isFinalContainer) throws AAIException {
+       }
 }
index 4f7a7c1..6eed095 100644 (file)
@@ -24,23 +24,10 @@ import javax.ws.rs.core.MultivaluedMap;
 
 import org.openecomp.aai.exceptions.AAIException;
 import org.openecomp.aai.introspection.Introspector;
+import org.openecomp.aai.serialization.db.EdgeType;
 
 class URIValidate implements Parsable {
 
-       @Override
-       public void processObject(Introspector obj, MultivaluedMap<String, String> uriKeys) throws AAIException {
-               //NO-OP
-               //just want to make sure this URI has valid tokens
-       }
-
-       @Override
-       public void processContainer(Introspector obj, MultivaluedMap<String, String> uriKeys, boolean isFinalContainer)
-                       throws AAIException {
-               //NO-OP
-               //just want to make sure this URI has valid tokens
-
-       }
-
        @Override
        public void processNamespace(Introspector obj) {
                //NO-OP
@@ -59,4 +46,18 @@ class URIValidate implements Parsable {
                return true;
        }
 
+       @Override
+       public void processObject(Introspector obj, EdgeType type, MultivaluedMap<String, String> uriKeys)
+                       throws AAIException {
+               //NO-OP
+               //just want to make sure this URI has valid tokens
+       }
+
+       @Override
+       public void processContainer(Introspector obj, EdgeType type, MultivaluedMap<String, String> uriKeys,
+                       boolean isFinalContainer) throws AAIException {
+               //NO-OP
+               //just want to make sure this URI has valid tokens
+       }
+
 }
index b212f75..11164d9 100644 (file)
@@ -30,11 +30,13 @@ import java.util.Set;
 import org.apache.tinkerpop.gremlin.process.traversal.P;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import org.apache.tinkerpop.gremlin.process.traversal.Traversal.Admin;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import org.apache.tinkerpop.gremlin.process.traversal.util.TraversalHelper;
 import org.apache.tinkerpop.gremlin.structure.Direction;
+import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 
 import org.openecomp.aai.db.props.AAIProperties;
@@ -51,10 +53,10 @@ import org.openecomp.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
 /**
  * The Class GraphTraversalBuilder.
  */
-public abstract class GraphTraversalBuilder extends QueryBuilder {
+public abstract class GraphTraversalBuilder<E> extends QueryBuilder<E> {
 
-       protected GraphTraversal<Vertex, Vertex> traversal = null;
-       protected Admin<Vertex, Vertex> completeTraversal = null;
+       protected GraphTraversal<Vertex, E> traversal = null;
+       protected Admin<Vertex, E> completeTraversal = null;
        private EdgeRules edgeRules = EdgeRules.getInstance();
        
        protected int parentStepIndex = 0;
@@ -69,7 +71,7 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
        public GraphTraversalBuilder(Loader loader, GraphTraversalSource source) {
                super(loader, source);
                
-               traversal = __.start();
+               traversal = new DefaultGraphTraversal<>();
                
        }
        
@@ -82,7 +84,7 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
        public GraphTraversalBuilder(Loader loader, GraphTraversalSource source, Vertex start) {
                super(loader, source, start);
                
-               traversal = __.start();
+               traversal = new DefaultGraphTraversal<>();
                
        }
 
@@ -90,7 +92,7 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder getVerticesByIndexedProperty(String key, Object value) {
+       public QueryBuilder<Vertex> getVerticesByIndexedProperty(String key, Object value) {
        
                return this.getVerticesByProperty(key, value);
        }
@@ -99,7 +101,7 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder getVerticesByIndexedProperty(String key, List<?> values) {
+       public QueryBuilder<Vertex> getVerticesByIndexedProperty(String key, List<?> values) {
                return this.getVerticesByProperty(key, values);
        }
        
@@ -107,7 +109,7 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder getVerticesByProperty(String key, Object value) {
+       public QueryBuilder<Vertex> getVerticesByProperty(String key, Object value) {
                
                //this is because the index is registered as an Integer
                value = this.correctObjectType(value);
@@ -115,14 +117,14 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
                traversal.has(key, value);
                
                stepIndex++;
-               return this;
+               return (QueryBuilder<Vertex>) this;
        }
        
        /**
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder getVerticesByProperty(final String key, final List<?> values) {
+       public QueryBuilder<Vertex> getVerticesByProperty(final String key, final List<?> values) {
                
                //this is because the index is registered as an Integer
                List<Object> correctedValues = new ArrayList<>();
@@ -133,24 +135,24 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
                traversal.has(key, P.within(correctedValues));
                
                stepIndex++;
-               return this;
+               return (QueryBuilder<Vertex>) this;
        }
 
        /**
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder getChildVerticesFromParent(String parentKey, String parentValue, String childType) {
+       public QueryBuilder<Vertex> getChildVerticesFromParent(String parentKey, String parentValue, String childType) {
                traversal.has(parentKey, parentValue).has(AAIProperties.NODE_TYPE, childType);
                stepIndex++;
-               return this;
+               return (QueryBuilder<Vertex>) this;
        }
 
        /**
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder getTypedVerticesByMap(String type, LinkedHashMap<String, String> map) {
+       public QueryBuilder<Vertex> getTypedVerticesByMap(String type, LinkedHashMap<String, String> map) {
                
                for (String key : map.keySet()) {
                        traversal.has(key, map.get(key));
@@ -158,24 +160,24 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
                }
                traversal.has(AAIProperties.NODE_TYPE, type);
                stepIndex++;
-               return this;
+               return (QueryBuilder<Vertex>) this;
        }
 
        /**
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder createDBQuery(Introspector obj) {
+       public QueryBuilder<Vertex> createDBQuery(Introspector obj) {
                this.createKeyQuery(obj);
                this.createContainerQuery(obj);
-               return this;
+               return (QueryBuilder<Vertex>) this;
        }
 
        /**
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder createKeyQuery(Introspector obj) {
+       public QueryBuilder<Vertex> createKeyQuery(Introspector obj) {
                Set<String> keys = obj.getKeys();
                Object val;
                for (String key : keys) {
@@ -195,15 +197,15 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
                                stepIndex++;
                        }
                }
-               return this;
+               return (QueryBuilder<Vertex>) this;
        }
 
        @Override
-       public QueryBuilder exactMatchQuery(Introspector obj) {
+       public QueryBuilder<Vertex> exactMatchQuery(Introspector obj) {
                this.createKeyQuery(obj);
                allPropertiesQuery(obj);
                this.createContainerQuery(obj);
-               return this;
+               return (QueryBuilder<Vertex>) this;
        }
        
        private void allPropertiesQuery(Introspector obj) {
@@ -236,7 +238,7 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
         */
        @Override
        
-       public QueryBuilder createContainerQuery(Introspector obj) {
+       public QueryBuilder<Vertex> createContainerQuery(Introspector obj) {
                String type = obj.getChildDBName();
                String abstractType = obj.getMetadata(ObjectMetadata.ABSTRACT);
                if (abstractType != null) {
@@ -247,7 +249,7 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
                }
                stepIndex++;
                markContainer();
-               return this;
+               return (QueryBuilder<Vertex>) this;
        }
 
        /**
@@ -256,16 +258,16 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder createEdgeTraversal(EdgeType type, Introspector parent, Introspector child) throws AAIException, NoEdgeRuleFoundException {
+       public QueryBuilder<Vertex> createEdgeTraversal(EdgeType type, Introspector parent, Introspector child) throws AAIException, NoEdgeRuleFoundException {
                String isAbstractType = parent.getMetadata(ObjectMetadata.ABSTRACT);
                if ("true".equals(isAbstractType)) {
                        markParentBoundary();
                        traversal.union(handleAbstractEdge(type, parent, child));
                        stepIndex += 1;
                } else {
-                       this.edgeQuery(type, parent, child);
+                       this.edgeQueryToVertex(type, parent, child);
                }
-               return this;
+               return (QueryBuilder<Vertex>) this;
                        
        }
        
@@ -302,20 +304,29 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder createEdgeTraversal(EdgeType type, Vertex parent, Introspector child) throws AAIException, NoEdgeRuleFoundException {
+       public QueryBuilder<Vertex> createEdgeTraversal(EdgeType type, Vertex parent, Introspector child) throws AAIException, NoEdgeRuleFoundException {
                
                String nodeType = parent.<String>property(AAIProperties.NODE_TYPE).orElse(null);
                Introspector parentObj = loader.introspectorFromName(nodeType);
-               this.edgeQuery(type, parentObj, child);
-               return this;
+               this.edgeQueryToVertex(type, parentObj, child);
+               return (QueryBuilder<Vertex>) this;
                        
        }
        
+       @Override
+       public QueryBuilder<Edge> getEdgesBetween(EdgeType type, String outNodeType, String inNodeType) throws AAIException {
+               Introspector outObj = loader.introspectorFromName(outNodeType);
+               Introspector inObj = loader.introspectorFromName(inNodeType);
+               this.edgeQuery(type, outObj, inObj);
+               
+               return (QueryBuilder<Edge>)this;
+
+       }
        /**
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder union(QueryBuilder... builder) {
+       public QueryBuilder<E> union(QueryBuilder... builder) {
                GraphTraversal<Vertex, Vertex>[] traversals = new GraphTraversal[builder.length];
                for (int i = 0; i < builder.length; i++) {
                        traversals[i] = (GraphTraversal<Vertex, Vertex>)builder[i].getQuery();
@@ -330,7 +341,7 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder where(QueryBuilder... builder) {
+       public QueryBuilder<E> where(QueryBuilder... builder) {
                GraphTraversal<Vertex, Vertex>[] traversals = new GraphTraversal[builder.length];
                for (int i = 0; i < builder.length; i++) {
                        this.traversal.where((GraphTraversal<Vertex, Vertex>)builder[i].getQuery());
@@ -348,7 +359,7 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
         * @throws NoEdgeRuleFoundException 
         * @throws AAIException 
         */
-       private void edgeQuery(EdgeType type, Introspector outObj, Introspector inObj) throws AAIException, NoEdgeRuleFoundException {
+       private void edgeQueryToVertex(EdgeType type, Introspector outObj, Introspector inObj) throws AAIException, NoEdgeRuleFoundException {
                String outType = outObj.getDbName();
                String inType = inObj.getDbName();
                
@@ -367,10 +378,40 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
                }
                stepIndex++;
                this.createContainerQuery(inObj);
+               
+       }
+       
+       /**
+        * Edge query.
+        *
+        * @param outType the out type
+        * @param inType the in type
+        * @throws NoEdgeRuleFoundException 
+        * @throws AAIException 
+        */
+       private void edgeQuery(EdgeType type, Introspector outObj, Introspector inObj) throws AAIException, NoEdgeRuleFoundException {
+               String outType = outObj.getDbName();
+               String inType = inObj.getDbName();
+               
+               if (outObj.isContainer()) {
+                       outType = outObj.getChildDBName();
+               }
+               if (inObj.isContainer()) {
+                       inType = inObj.getChildDBName();
+               }
+               markParentBoundary();
+               EdgeRule rule = edgeRules.getEdgeRule(type, outType, inType);
+               if (rule.getDirection().equals(Direction.OUT)) {
+                       traversal.outE(rule.getLabel());
+               } else {
+                       traversal.inE(rule.getLabel());
+               }
+               stepIndex++;
+               
        }
        
        @Override
-       public QueryBuilder limit(long amount) {
+       public QueryBuilder<E> limit(long amount) {
                traversal.limit(amount);
                return this;
        }
@@ -379,21 +420,21 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
         * @{inheritDoc}
         */
        @Override
-       public <T> T getQuery() {
-               return (T)this.traversal;
+       public <E2> E2 getQuery() {
+               return (E2)this.traversal;
        }
        
        /**
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder getParentQuery() {
+       public QueryBuilder<E> getParentQuery() {
 
                return cloneQueryAtStep(parentStepIndex);
        }
        
        @Override
-       public QueryBuilder getContainerQuery() {
+       public QueryBuilder<E> getContainerQuery() {
                
                if (this.parentStepIndex == 0) {
                        return removeQueryStepsBetween(0, containerStepIndex);
@@ -436,7 +477,7 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
                return stepIndex;
        }
 
-       protected abstract QueryBuilder cloneQueryAtStep(int index);
+       protected abstract QueryBuilder<E> cloneQueryAtStep(int index);
        /**
         * end is exclusive
         * 
@@ -444,7 +485,7 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
         * @param end
         * @return
         */
-       protected abstract QueryBuilder removeQueryStepsBetween(int start, int end);
+       protected abstract QueryBuilder<E> removeQueryStepsBetween(int start, int end);
        
        private void executeQuery() {
                
@@ -458,7 +499,7 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
                
                TraversalHelper.insertTraversal(admin.getEndStep(), traversal.asAdmin(), admin);
                
-               this.completeTraversal = admin;
+               this.completeTraversal = (Admin<Vertex, E>) admin;
        }
        
        @Override
@@ -471,7 +512,7 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
        }
        
        @Override
-       public Vertex next() {
+       public E next() {
                if (this.completeTraversal == null) {
                        executeQuery();
                }
@@ -480,7 +521,7 @@ public abstract class GraphTraversalBuilder extends QueryBuilder {
        }
        
        @Override
-       public List<Vertex> toList() {
+       public List<E> toList() {
                if (this.completeTraversal == null) {
                        executeQuery();
                }
index 1b32e73..729acbb 100644 (file)
@@ -26,7 +26,7 @@ import java.util.List;
 
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 
-import org.openecomp.aai.db.props.AAIProperties;
+import org.openecomp.aai.db.AAIProperties;
 import org.openecomp.aai.exceptions.AAIException;
 import org.openecomp.aai.introspection.Introspector;
 import org.openecomp.aai.introspection.Loader;
index 3fa4ded..e4e1fd5 100644 (file)
@@ -30,6 +30,7 @@ import java.util.Set;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
 import org.apache.tinkerpop.gremlin.structure.Direction;
+import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 
 import org.openecomp.aai.db.props.AAIProperties;
@@ -47,7 +48,7 @@ import com.google.common.base.Joiner;
 /**
  * The Class GremlinQueryBuilder.
  */
-public abstract class GremlinQueryBuilder extends QueryBuilder {
+public abstract class GremlinQueryBuilder<E> extends QueryBuilder<E> {
        
        private EdgeRules edgeRules = EdgeRules.getInstance();
        private GremlinGroovyShellSingleton gremlinGroovy = GremlinGroovyShellSingleton.getInstance();
@@ -83,26 +84,26 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder createDBQuery(Introspector obj) {
+       public QueryBuilder<Vertex> createDBQuery(Introspector obj) {
                this.createKeyQuery(obj);
                this.createContainerQuery(obj);
-               return this;
+               return (QueryBuilder<Vertex>) this;
        }
        
        @Override
-       public QueryBuilder exactMatchQuery(Introspector obj) {
+       public QueryBuilder<Vertex> exactMatchQuery(Introspector obj) {
                // TODO not implemented because this is implementation is no longer used
                this.createKeyQuery(obj);
                //allPropertiesQuery(obj);
                this.createContainerQuery(obj);
-               return this;
+               return (QueryBuilder<Vertex>) this;
        }
        
        /**
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder getVerticesByIndexedProperty(String key, Object value) {
+       public QueryBuilder<Vertex> getVerticesByIndexedProperty(String key, Object value) {
                return this.getVerticesByProperty(key, value);
        }
        
@@ -110,7 +111,7 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder getVerticesByIndexedProperty(String key, List<?> values) {
+       public QueryBuilder<Vertex> getVerticesByIndexedProperty(String key, List<?> values) {
                return this.getVerticesByProperty(key, values);
        }
 
@@ -118,7 +119,7 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder getVerticesByProperty(String key, Object value) {
+       public QueryBuilder<Vertex> getVerticesByProperty(String key, Object value) {
 
                String term = "";
                if (value != null && !value.getClass().getName().equals("java.lang.String")) {
@@ -128,14 +129,14 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
                }
                list.add(".has('" + key + "', " + term + ")");
                stepIndex++;
-               return this;
+               return (QueryBuilder<Vertex>) this;
        }
        
        /**
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder getVerticesByProperty(String key, List<?> values) {
+       public QueryBuilder<Vertex> getVerticesByProperty(String key, List<?> values) {
 
                String term = "";
                String predicate = "P.within(#!#argument#!#)";
@@ -151,7 +152,7 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
                predicate = predicate.replace("#!#argument#!#", argument);
                list.add(".has('" + key + "', " + predicate + ")");
                stepIndex++;
-               return this;
+               return (QueryBuilder<Vertex>) this;
        }
        
        
@@ -159,21 +160,21 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder getChildVerticesFromParent(String parentKey, String parentValue, String childType) {
+       public QueryBuilder<Vertex> getChildVerticesFromParent(String parentKey, String parentValue, String childType) {
                /*
                String query = ".has('aai-node-type', '" + childType + "')";
                
                return this.processGremlinQuery(parentKey, parentValue, query);
                */
                //TODO
-               return this;
+               return (QueryBuilder<Vertex>) this;
        }
        
        /**
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder getTypedVerticesByMap(String type, LinkedHashMap<String, String> map) {
+       public QueryBuilder<Vertex> getTypedVerticesByMap(String type, LinkedHashMap<String, String> map) {
                
                for (String key : map.keySet()) {
                        list.add(".has('" + key + "', '" + map.get(key) + "')");
@@ -181,14 +182,14 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
                }
                list.add(".has('aai-node-type', '" + type + "')");
                stepIndex++;
-               return this;
+               return (QueryBuilder<Vertex>) this;
        }
        
        /**
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder createKeyQuery(Introspector obj) {
+       public QueryBuilder<Vertex> createKeyQuery(Introspector obj) {
                Set<String> keys = obj.getKeys();
 
                for (String key : keys) {
@@ -196,7 +197,7 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
                        this.getVerticesByProperty(key, obj.<Object>getValue(key));
                        
                }               
-               return this;
+               return (QueryBuilder<Vertex>) this;
        }
        
        /**
@@ -214,7 +215,7 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
                if (child.isContainer()) {
                        childName = child.getChildDBName();
                }
-               this.edgeQuery(type, parentName, childName);
+               this.edgeQueryToVertex(type, parentName, childName);
                return this;
                        
        }
@@ -225,14 +226,21 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder createEdgeTraversal(EdgeType type, Vertex parent, Introspector child) throws AAIException, NoEdgeRuleFoundException {
+       public QueryBuilder<Vertex> createEdgeTraversal(EdgeType type, Vertex parent, Introspector child) throws AAIException, NoEdgeRuleFoundException {
                String nodeType = parent.<String>property(AAIProperties.NODE_TYPE).orElse(null);
-               this.edgeQuery(type, nodeType, child.getDbName());
+               this.edgeQueryToVertex(type, nodeType, child.getDbName());
                
-               return this;
+               return (QueryBuilder<Vertex>) this;
                        
        }
        
+       @Override
+       public QueryBuilder<Edge> getEdgesBetween(EdgeType type, String outNodeType, String inNodeType) throws AAIException {
+               this.edgeQuery(type, outNodeType, inNodeType);
+               
+               return (QueryBuilder<Edge>)this;
+
+       }
        /**
         * Edge query.
         *
@@ -241,7 +249,7 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
         * @throws NoEdgeRuleFoundException 
         * @throws AAIException 
         */
-       private void edgeQuery(EdgeType type, String outType, String inType) throws AAIException, NoEdgeRuleFoundException {
+       private void edgeQueryToVertex(EdgeType type, String outType, String inType) throws AAIException, NoEdgeRuleFoundException {
                markParentBoundary();
                EdgeRule rule = edgeRules.getEdgeRule(type, outType, inType);
                if (rule.getDirection().equals(Direction.OUT)) {
@@ -249,11 +257,33 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
                } else {
                        list.add(".in('" + rule.getLabel() + "')");
                }
+               stepIndex++;
                list.add(".has('" + AAIProperties.NODE_TYPE + "', '" + inType + "')");
-               stepIndex += 2;
+               stepIndex++;
+               
+       }
+       
+       /**
+        * Edge query.
+        *
+        * @param outType the out type
+        * @param inType the in type
+        * @throws NoEdgeRuleFoundException 
+        * @throws AAIException 
+        */
+       private void edgeQuery(EdgeType type, String outType, String inType) throws AAIException, NoEdgeRuleFoundException {
+               markParentBoundary();
+               EdgeRule rule = edgeRules.getEdgeRule(type, outType, inType);
+               if (rule.getDirection().equals(Direction.OUT)) {
+                       list.add(".outE('" + rule.getLabel() + "')");
+               } else {
+                       list.add(".inV('" + rule.getLabel() + "')");
+               }
+               stepIndex++;
+               
        }
        @Override
-       public QueryBuilder limit(long amount) {
+       public QueryBuilder<E> limit(long amount) {
                list.add(".limit(" + amount + ")");
                return this;
        }
@@ -261,7 +291,7 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder createContainerQuery(Introspector obj) {
+       public QueryBuilder<Vertex> createContainerQuery(Introspector obj) {
                String type = obj.getChildDBName();
                String abstractType = obj.getMetadata(ObjectMetadata.ABSTRACT);
                if (abstractType != null) {
@@ -281,11 +311,11 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
                }
                stepIndex++;
                this.markContainer();
-               return this;
+               return (QueryBuilder<Vertex>) this;
        }
        
        @Override
-       public QueryBuilder union(QueryBuilder... builder) {
+       public QueryBuilder<E> union(QueryBuilder<E>... builder) {
                markParentBoundary();
                String[] traversals = new String[builder.length];
                StringBuilder command = new StringBuilder();
@@ -302,7 +332,7 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
        }
        
        @Override
-       public QueryBuilder where(QueryBuilder... builder) {
+       public QueryBuilder<E> where(QueryBuilder<E>... builder) {
                markParentBoundary();
                List<String> traversals = new ArrayList<>();
                for (int i = 0; i < builder.length; i++) {
@@ -319,12 +349,12 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder getParentQuery() {
+       public QueryBuilder<E> getParentQuery() {
                return cloneQueryAtStep(parentStepIndex);
        }
        
        @Override
-       public QueryBuilder getContainerQuery() {
+       public QueryBuilder<E> getContainerQuery() {
                return cloneQueryAtStep(containerStepIndex);
        }
        
@@ -332,14 +362,14 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
         * @{inheritDoc}
         */
        @Override
-       public <T> T getQuery() {
+       public <T2> T2 getQuery() {
                StringBuilder sb = new StringBuilder();
                
                for (String piece : this.list) {
                        sb.append(piece);
                }
                
-               return (T)sb.toString();
+               return (T2)sb.toString();
        }
        
        /**
@@ -355,7 +385,7 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
                this.containerStepIndex = stepIndex;
        }
        
-       protected abstract QueryBuilder cloneQueryAtStep(int index);
+       protected abstract QueryBuilder<E> cloneQueryAtStep(int index);
        /**
         * @{inheritDoc}
         */
@@ -396,21 +426,21 @@ public abstract class GremlinQueryBuilder extends QueryBuilder {
        }
        
        @Override
-       public Vertex next() {
+       public E next() {
                if (this.completeTraversal == null) {
                        executeQuery();
                }
                
-               return (Vertex)this.completeTraversal.next();
+               return (E)this.completeTraversal.next();
        }
        
        @Override
-       public List<Vertex> toList() {
+       public List<E> toList() {
                if (this.completeTraversal == null) {
                        executeQuery();
                }
                
-               return (List<Vertex>)this.completeTraversal.toList();
+               return (List<E>)this.completeTraversal.toList();
        }
        
 }
index 43ef850..3daad5e 100644 (file)
@@ -39,7 +39,7 @@ import org.openecomp.aai.parsers.query.TraversalStrategy;
 /**
  * The Class GremlinTraversal.
  */
-public class GremlinTraversal extends GremlinQueryBuilder {
+public class GremlinTraversal<E> extends GremlinQueryBuilder<E> {
 
        /**
         * Instantiates a new gremlin traversal.
@@ -62,7 +62,7 @@ public class GremlinTraversal extends GremlinQueryBuilder {
                this.factory = new TraversalStrategy(this.loader, this);
        }
 
-       protected GremlinTraversal(List<String> traversal, Loader loader, GraphTraversalSource source, GremlinQueryBuilder gtb) {
+       protected GremlinTraversal(List<String> traversal, Loader loader, GraphTraversalSource source, GremlinQueryBuilder<E> gtb) {
                super(loader, source);
                this.list = traversal;
                this.stepIndex = gtb.getStepIndex();
@@ -110,20 +110,20 @@ public class GremlinTraversal extends GremlinQueryBuilder {
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder newInstance(Vertex start) {
-               return new GremlinTraversal(loader, source, start);
+       public QueryBuilder<E> newInstance(Vertex start) {
+               return new GremlinTraversal<>(loader, source, start);
        }
 
        /**
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder newInstance() {
-               return new GremlinTraversal(loader, source);
+       public QueryBuilder<E> newInstance() {
+               return new GremlinTraversal<>(loader, source);
        }
        
        @Override
-       protected QueryBuilder cloneQueryAtStep(int index) {
+       protected QueryBuilder<E> cloneQueryAtStep(int index) {
                if (index == 0) {
                        index = stepIndex;
                }
@@ -132,6 +132,6 @@ public class GremlinTraversal extends GremlinQueryBuilder {
                        newList.add(this.list.get(i));
                }
                
-               return new GremlinTraversal(newList, loader, source, this);
+               return new GremlinTraversal<>(newList, loader, source, this);
        }
 }
index 50c1e40..ee2353f 100644 (file)
@@ -40,7 +40,7 @@ import org.openecomp.aai.parsers.query.UniqueStrategy;
 /**
  * The Class GremlinUnique.
  */
-public class GremlinUnique extends GremlinQueryBuilder {
+public class GremlinUnique<E> extends GremlinQueryBuilder<E> {
        
        /**
         * Instantiates a new gremlin unique.
@@ -63,7 +63,7 @@ public class GremlinUnique extends GremlinQueryBuilder {
                this.factory = new UniqueStrategy(this.loader, this);
        }
        
-       protected GremlinUnique(List<String> traversal, Loader loader, GraphTraversalSource source, GremlinQueryBuilder gtb) {
+       protected GremlinUnique(List<String> traversal, Loader loader, GraphTraversalSource source, GremlinQueryBuilder<E> gtb) {
                super(loader, source);
                this.list = traversal;
                this.stepIndex = gtb.getStepIndex();
@@ -110,20 +110,20 @@ public class GremlinUnique extends GremlinQueryBuilder {
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder newInstance() {
-               return new GremlinUnique(loader, source);
+       public QueryBuilder<E> newInstance() {
+               return new GremlinUnique<>(loader, source);
        }
 
        /**
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder newInstance(Vertex start) {
-               return new GremlinUnique(loader, source, start);
+       public QueryBuilder<E> newInstance(Vertex start) {
+               return new GremlinUnique<>(loader, source, start);
        }
        
        @Override
-       protected QueryBuilder cloneQueryAtStep(int index) {
+       protected QueryBuilder<E> cloneQueryAtStep(int index) {
                if (index == 0) {
                        index = stepIndex;
                }
@@ -132,6 +132,6 @@ public class GremlinUnique extends GremlinQueryBuilder {
                        newList.add(this.list.get(i));
                }
                
-               return new GremlinUnique(newList, loader, source, this);
+               return new GremlinUnique<>(newList, loader, source, this);
        }
 }
index a9fa7ca..565e868 100644 (file)
@@ -29,6 +29,7 @@ import java.util.List;
 import javax.ws.rs.core.MultivaluedMap;
 
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.structure.Edge;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 
 import org.openecomp.aai.exceptions.AAIException;
@@ -42,7 +43,7 @@ import org.openecomp.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
 /**
  * The Class QueryBuilder.
  */
-public abstract class QueryBuilder implements Iterator<Vertex> {
+public abstract class QueryBuilder<E> implements Iterator<E> {
 
        protected QueryParserStrategy factory = null;
        
@@ -82,7 +83,7 @@ public abstract class QueryBuilder implements Iterator<Vertex> {
         * @param value the value
         * @return the vertices by indexed property
         */
-       public abstract QueryBuilder getVerticesByIndexedProperty(String key, Object value);
+       public abstract QueryBuilder<Vertex> getVerticesByIndexedProperty(String key, Object value);
        
        /**
         * Gets the vertices by property.
@@ -91,7 +92,7 @@ public abstract class QueryBuilder implements Iterator<Vertex> {
         * @param value the value
         * @return the vertices by property
         */
-       public abstract QueryBuilder getVerticesByProperty(String key, Object value);
+       public abstract QueryBuilder<Vertex> getVerticesByProperty(String key, Object value);
        
        /**
         * filters by all the values for this property
@@ -99,7 +100,7 @@ public abstract class QueryBuilder implements Iterator<Vertex> {
         * @param values
         * @return vertices that match these values
         */
-       public abstract QueryBuilder getVerticesByIndexedProperty(String key, List<?> values);
+       public abstract QueryBuilder<Vertex> getVerticesByIndexedProperty(String key, List<?> values);
 
        /**
         * filters by all the values for this property
@@ -107,7 +108,7 @@ public abstract class QueryBuilder implements Iterator<Vertex> {
         * @param values
         * @return vertices that match these values
         */
-       public abstract QueryBuilder getVerticesByProperty(String key, List<?> values);
+       public abstract QueryBuilder<Vertex> getVerticesByProperty(String key, List<?> values);
 
        /**
         * Gets the child vertices from parent.
@@ -117,7 +118,7 @@ public abstract class QueryBuilder implements Iterator<Vertex> {
         * @param childType the child type
         * @return the child vertices from parent
         */
-       public abstract QueryBuilder getChildVerticesFromParent(String parentKey, String parentValue, String childType);
+       public abstract QueryBuilder<Vertex> getChildVerticesFromParent(String parentKey, String parentValue, String childType);
                
        /**
         * Gets the typed vertices by map.
@@ -126,7 +127,7 @@ public abstract class QueryBuilder implements Iterator<Vertex> {
         * @param map the map
         * @return the typed vertices by map
         */
-       public abstract QueryBuilder getTypedVerticesByMap(String type, LinkedHashMap<String, String> map);
+       public abstract QueryBuilder<Vertex> getTypedVerticesByMap(String type, LinkedHashMap<String, String> map);
 
        /**
         * Creates the DB query.
@@ -134,7 +135,7 @@ public abstract class QueryBuilder implements Iterator<Vertex> {
         * @param obj the obj
         * @return the query builder
         */
-       public abstract QueryBuilder createDBQuery(Introspector obj);
+       public abstract QueryBuilder<Vertex> createDBQuery(Introspector obj);
        
        /**
         * Creates the key query.
@@ -142,7 +143,7 @@ public abstract class QueryBuilder implements Iterator<Vertex> {
         * @param obj the obj
         * @return the query builder
         */
-       public abstract QueryBuilder createKeyQuery(Introspector obj);
+       public abstract QueryBuilder<Vertex> createKeyQuery(Introspector obj);
        
        /**
         * Creates the container query.
@@ -150,7 +151,7 @@ public abstract class QueryBuilder implements Iterator<Vertex> {
         * @param obj the obj
         * @return the query builder
         */
-       public abstract QueryBuilder createContainerQuery(Introspector obj);
+       public abstract QueryBuilder<Vertex> createContainerQuery(Introspector obj);
        
        /**
         * Creates the edge traversal.
@@ -159,7 +160,7 @@ public abstract class QueryBuilder implements Iterator<Vertex> {
         * @param child the child
         * @return the query builder
         */
-       public abstract QueryBuilder createEdgeTraversal(EdgeType type, Introspector parent, Introspector child) throws AAIException;
+       public abstract QueryBuilder<Vertex> createEdgeTraversal(EdgeType type, Introspector parent, Introspector child) throws AAIException;
        
        /**
         * Creates the edge traversal.
@@ -168,15 +169,16 @@ public abstract class QueryBuilder implements Iterator<Vertex> {
         * @param child the child
         * @return the query builder
         */
-       public abstract QueryBuilder createEdgeTraversal(EdgeType type, Vertex parent, Introspector child) throws AAIException;
+       public abstract QueryBuilder<Vertex> createEdgeTraversal(EdgeType type, Vertex parent, Introspector child) throws AAIException;
 
-       public QueryBuilder createEdgeTraversal(EdgeType type, String outNodeType, String inNodeType) throws NoEdgeRuleFoundException, AAIException {
+       public QueryBuilder<Vertex> createEdgeTraversal(EdgeType type, String outNodeType, String inNodeType) throws NoEdgeRuleFoundException, AAIException {
                Introspector out = loader.introspectorFromName(outNodeType);
                Introspector in = loader.introspectorFromName(inNodeType);
                
                return createEdgeTraversal(type, out, in);
        }
-
+       
+       public abstract QueryBuilder<Edge> getEdgesBetween(EdgeType type, String outNodeType, String inNodeType) throws AAIException;
        /**
         * Creates the query from URI.
         *
@@ -221,35 +223,35 @@ public abstract class QueryBuilder implements Iterator<Vertex> {
         *
         * @return the parent query
         */
-       public abstract QueryBuilder getParentQuery();
+       public abstract QueryBuilder<E> getParentQuery();
        
        /**
         * Gets the query.
         *
         * @return the query
         */
-       public abstract <T> T getQuery();
+       public abstract <E2> E2 getQuery();
        
        /**
         * Form boundary.
         */
        public abstract void markParentBoundary();
        
-       public abstract QueryBuilder limit(long amount);
+       public abstract QueryBuilder<E> limit(long amount);
        /**
         * New instance.
         *
         * @param start the start
         * @return the query builder
         */
-       public abstract QueryBuilder newInstance(Vertex start);
+       public abstract QueryBuilder<E> newInstance(Vertex start);
        
        /**
         * New instance.
         *
         * @return the query builder
         */
-       public abstract QueryBuilder newInstance();
+       public abstract QueryBuilder<E> newInstance();
        
        /**
         * Gets the start.
@@ -272,7 +274,7 @@ public abstract class QueryBuilder implements Iterator<Vertex> {
         * @param obj
         * @return
         */
-       public abstract QueryBuilder exactMatchQuery(Introspector obj);
+       public abstract QueryBuilder<Vertex> exactMatchQuery(Introspector obj);
 
        /**
         * lets you join any number of QueryBuilders
@@ -280,14 +282,14 @@ public abstract class QueryBuilder implements Iterator<Vertex> {
         * @param builder
         * @return
         */
-       public abstract QueryBuilder union(QueryBuilder[] builder);
+       public abstract QueryBuilder<E> union(QueryBuilder<E>... builder);
        
-       public abstract QueryBuilder where(QueryBuilder[] builder);
+       public abstract QueryBuilder<E> where(QueryBuilder<E>... builder);
        public abstract void markContainer();
 
-       public abstract QueryBuilder getContainerQuery();
+       public abstract QueryBuilder<E> getContainerQuery();
 
-       public abstract List<Vertex> toList();
+       public abstract List<E> toList();
        
                
 }
index 4293402..628e055 100644 (file)
@@ -40,7 +40,7 @@ import org.openecomp.aai.parsers.query.TraversalStrategy;
 /**
  * The Class TraversalQuery.
  */
-public class TraversalQuery extends GraphTraversalBuilder {
+public class TraversalQuery<E> extends GraphTraversalBuilder<E> {
 
        /**
         * Instantiates a new traversal query.
@@ -63,7 +63,7 @@ public class TraversalQuery extends GraphTraversalBuilder {
                this.factory = new TraversalStrategy(this.loader, this);
        }
        
-       protected TraversalQuery(GraphTraversal<Vertex, Vertex> traversal, Loader loader, GraphTraversalSource source, GraphTraversalBuilder gtb) {
+       protected TraversalQuery(GraphTraversal<Vertex, E> traversal, Loader loader, GraphTraversalSource source, GraphTraversalBuilder<E> gtb) {
                super(loader, source);
                this.traversal = traversal;
                this.stepIndex = gtb.getStepIndex();
@@ -110,41 +110,41 @@ public class TraversalQuery extends GraphTraversalBuilder {
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder newInstance(Vertex start) {
-               return new TraversalQuery(loader, source, start);
+       public QueryBuilder<E> newInstance(Vertex start) {
+               return new TraversalQuery<>(loader, source, start);
        }
        
        /**
         * @{inheritDoc}
         */
        @Override
-       public QueryBuilder newInstance() {
-               return new TraversalQuery(loader, source);
+       public QueryBuilder<E> newInstance() {
+               return new TraversalQuery<>(loader, source);
        }
        
        @Override
-       protected QueryBuilder cloneQueryAtStep(int index) {
+       protected QueryBuilder<E> cloneQueryAtStep(int index) {
                if (index == 0) {
                        index = stepIndex;
                }
-               GraphTraversal<Vertex, Vertex> clone = this.traversal.asAdmin().clone();
-               GraphTraversal.Admin<Vertex, Vertex> cloneAdmin = clone.asAdmin();
+               GraphTraversal<Vertex, E> clone = this.traversal.asAdmin().clone();
+               GraphTraversal.Admin<Vertex, E> cloneAdmin = clone.asAdmin();
                List<Step> steps = cloneAdmin.getSteps();
 
                for (int i = steps.size()-1; i >= index; i--) {
                        cloneAdmin.removeStep(i);
                }
-               return new TraversalQuery(cloneAdmin, loader, source, this);
+               return new TraversalQuery<>(cloneAdmin, loader, source, this);
        }
        
        @Override
-       protected QueryBuilder removeQueryStepsBetween(int start, int end) {
-               GraphTraversal<Vertex, Vertex> clone = this.traversal.asAdmin().clone();
-               GraphTraversal.Admin<Vertex, Vertex> cloneAdmin = clone.asAdmin();
+       protected QueryBuilder<E> removeQueryStepsBetween(int start, int end) {
+               GraphTraversal<Vertex, E> clone = this.traversal.asAdmin().clone();
+               GraphTraversal.Admin<Vertex, E> cloneAdmin = clone.asAdmin();
 
                for (int i = end-2; i >= start; i--) {
                        cloneAdmin.removeStep(i);
                }
-               return new TraversalQuery(cloneAdmin, loader, source, this);
+               return new TraversalQuery<>(cloneAdmin, loader, source, this);
        }
 }
diff --git a/aai-core/src/main/java/org/openecomp/aai/rest/RestTokens.java b/aai-core/src/main/java/org/openecomp/aai/rest/RestTokens.java
new file mode 100644 (file)
index 0000000..13bfe65
--- /dev/null
@@ -0,0 +1,36 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.rest;
+
+public enum RestTokens {
+
+       COUSIN("related-to");
+       private final String name;
+
+       private RestTokens(String name) { 
+               this.name = name;
+       }
+
+       @Override
+       public String toString() {
+               return name;
+       }
+}
index 4f46227..e5ab80e 100644 (file)
 
 package org.openecomp.aai.restcore;
 
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.google.common.base.Joiner;
+import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
+import javax.xml.bind.JAXBException;
+import javax.xml.transform.stream.StreamSource;
+
+import org.eclipse.persistence.dynamic.DynamicEntity;
+import org.eclipse.persistence.jaxb.JAXBUnmarshaller;
+import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
+
 import org.openecomp.aai.db.props.AAIProperties;
 import org.openecomp.aai.dbmap.DBConnectionType;
+import org.openecomp.aai.domain.model.AAIResource;
 import org.openecomp.aai.exceptions.AAIException;
 import org.openecomp.aai.introspection.Introspector;
 import org.openecomp.aai.introspection.Loader;
-import org.openecomp.aai.introspection.tools.*;
+import org.openecomp.aai.introspection.tools.CreateUUID;
+import org.openecomp.aai.introspection.tools.DefaultFields;
+import org.openecomp.aai.introspection.tools.InjectKeysFromURI;
+import org.openecomp.aai.introspection.tools.IntrospectorValidator;
+import org.openecomp.aai.introspection.tools.Issue;
+import org.openecomp.aai.introspection.tools.RemoveNonVisibleProperty;
 import org.openecomp.aai.logging.ErrorLogHelper;
+import org.openecomp.aai.logging.LoggingContext;
 import org.openecomp.aai.util.AAIConfig;
 import org.openecomp.aai.util.AAIConstants;
 import org.openecomp.aai.util.AAITxnLog;
-
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriInfo;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import com.google.common.base.Joiner;
 
 
 /**
@@ -79,7 +94,7 @@ public class RESTAPI {
         * @return the from app id
         * @throws AAIException the AAI exception
         */
-       protected String getFromAppId(HttpHeaders headers) throws AAIException {
+       protected String getFromAppId(HttpHeaders headers) throws AAIException { 
                String fromAppId = null;
                if (headers != null) {
                        List<String> fromAppIdHeader = headers.getRequestHeader("X-FromAppId");
@@ -93,7 +108,9 @@ public class RESTAPI {
                if (fromAppId == null) {
                        throw new AAIException("AAI_4009");
                }
-               
+
+               LoggingContext.partnerName(fromAppId);
+
                return fromAppId;
        }
        
@@ -105,7 +122,7 @@ public class RESTAPI {
         * @return the trans id
         * @throws AAIException the AAI exception
         */
-       protected String getTransId(HttpHeaders headers) throws AAIException {
+       protected String getTransId(HttpHeaders headers) throws AAIException { 
                String transId = null;
                if (headers != null) {
                        List<String> transIdHeader = headers.getRequestHeader("X-TransactionId");
@@ -119,7 +136,9 @@ public class RESTAPI {
                if (transId == null) {
                        throw new AAIException("AAI_4010");
                }
-               
+
+               LoggingContext.requestId(transId);
+
                return transId;
        }
        
@@ -233,7 +252,7 @@ public class RESTAPI {
         * @throws AAIException the AAI exception
         */
        protected int setDepth(String depthParam) throws AAIException {
-               int depth = AAIProperties.MAXIMUM_DEPTH; //default
+               int depth = AAIProperties.MAXIMUM_DEPTH; //default 
                if (depthParam != null && depthParam.length() > 0 && !depthParam.equals("all")){
                        try {
                                depth = Integer.valueOf(depthParam);
index e722e09..b098dcc 100644 (file)
@@ -58,7 +58,9 @@ public class GremlinGroovyShellSingleton {
                imports.addImports(
                                "org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__",
                                "org.apache.tinkerpop.gremlin.structure.T",
-                               "org.apache.tinkerpop.gremlin.process.traversal.P");
+                               "org.apache.tinkerpop.gremlin.process.traversal.P",
+                               "java.util.Map.Entry");
+               imports.addStarImports("java.util");
                CompilerConfiguration config = new CompilerConfiguration();
                config.addCompilationCustomizers(custom, imports);
 
index d5ae54d..5f59a93 100644 (file)
 package org.openecomp.aai.serialization.db;
 
 
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.google.common.base.CaseFormat;
-import com.thinkaurelius.titan.core.SchemaViolationException;
+import java.io.UnsupportedEncodingException;
+import java.lang.reflect.Array;
+import java.lang.reflect.InvocationTargetException;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Future;
+
+import javax.ws.rs.core.UriBuilder;
+
 import org.apache.commons.collections.IteratorUtils;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree;
-import org.apache.tinkerpop.gremlin.structure.*;
+import org.apache.tinkerpop.gremlin.structure.Direction;
+import org.apache.tinkerpop.gremlin.structure.Edge;
+import org.apache.tinkerpop.gremlin.structure.Element;
+import org.apache.tinkerpop.gremlin.structure.Vertex;
+import org.apache.tinkerpop.gremlin.structure.VertexProperty;
 import org.javatuples.Pair;
+
 import org.openecomp.aai.db.props.AAIProperties;
 import org.openecomp.aai.exceptions.AAIException;
-import org.openecomp.aai.introspection.*;
+import org.openecomp.aai.introspection.Introspector;
+import org.openecomp.aai.introspection.IntrospectorFactory;
+import org.openecomp.aai.introspection.Loader;
+import org.openecomp.aai.introspection.LoaderFactory;
+import org.openecomp.aai.introspection.ModelType;
+import org.openecomp.aai.introspection.PropertyPredicates;
+import org.openecomp.aai.introspection.Version;
 import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
 import org.openecomp.aai.introspection.sideeffect.DataCopy;
 import org.openecomp.aai.introspection.sideeffect.DataLinkReader;
@@ -53,19 +80,10 @@ import org.openecomp.aai.util.AAIApiServerURLBase;
 import org.openecomp.aai.util.AAIConfig;
 import org.openecomp.aai.util.AAIConstants;
 import org.openecomp.aai.workarounds.NamingExceptions;
-
-import javax.ws.rs.core.UriBuilder;
-import java.io.UnsupportedEncodingException;
-import java.lang.reflect.Array;
-import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Future;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import com.google.common.base.CaseFormat;
+import com.thinkaurelius.titan.core.SchemaViolationException;
 
 public class DBSerializer {
        
@@ -88,7 +106,7 @@ public class DBSerializer {
         * @param introspectionType the introspection type
         * @param sourceOfTruth the source of truth
         * @param llBuilder the ll builder
-        * @throws AAIException
+        * @throws AAIException 
         */
        public DBSerializer(Version version, TransactionalGraphEngine engine, ModelType introspectionType, String sourceOfTruth) throws AAIException {
                this.engine = engine;
@@ -179,7 +197,7 @@ public class DBSerializer {
         * @throws NoSuchMethodException the no such method exception
         * @throws AAIException the AAI exception
         * @throws UnsupportedEncodingException the unsupported encoding exception
-        * @throws AAIUnknownObjectException
+        * @throws AAIUnknownObjectException 
         */
        public void serializeToDb(Introspector obj, Vertex v, QueryParser uriQuery, String identifier, String requestContext) throws AAIException, UnsupportedEncodingException {
 
@@ -240,7 +258,7 @@ public class DBSerializer {
         * @throws SecurityException the security exception
         * @throws AAIException the AAI exception
         * @throws UnsupportedEncodingException the unsupported encoding exception
-        * @throws AAIUnknownObjectException
+        * @throws AAIUnknownObjectException 
         */
        /*
         * Helper method for reflectToDb
@@ -435,7 +453,7 @@ public class DBSerializer {
         *
         * @param v the v
         * @param obj the obj
-        * @throws AAIUnknownObjectException
+        * @throws AAIUnknownObjectException 
         */
        private void writeThroughDefaults(Vertex v, Introspector obj) throws AAIUnknownObjectException {
                Introspector latest = this.latestLoader.introspectorFromName(obj.getName());
@@ -472,7 +490,7 @@ public class DBSerializer {
          * @throws SecurityException the security exception
          * @throws AAIException the AAI exception
          * @throws UnsupportedEncodingException the unsupported encoding exception
-        * @throws AAIUnknownObjectException
+        * @throws AAIUnknownObjectException 
          */
         private Vertex reflectDependentVertex(Vertex v, Introspector dependentObj, String requestContext) throws AAIException, UnsupportedEncodingException {
                
@@ -512,13 +530,15 @@ public class DBSerializer {
          * @throws SecurityException the security exception
          * @throws AAIException the AAI exception
          * @throws UnsupportedEncodingException the unsupported encoding exception
-        * @throws AAIUnknownObjectException
+        * @throws AAIUnknownObjectException 
          */
         private Vertex reflectDependentVertex(Vertex parent, Vertex child, Introspector obj, String requestContext) throws AAIException, UnsupportedEncodingException {
                
                String parentUri = parent.<String>property(AAIProperties.AAI_URI).orElse(null);
                if (parentUri != null) {
-                       child.property(AAIProperties.AAI_URI, parentUri + obj.getURI());
+                       String uri;
+                       uri = obj.getURI();
+                       child.property(AAIProperties.AAI_URI, parentUri + uri);
                }
                processObject(obj, child, requestContext);
                
@@ -555,7 +575,7 @@ public class DBSerializer {
          * @throws NoSuchMethodException the no such method exception
          * @throws UnsupportedEncodingException the unsupported encoding exception
          * @throws MalformedURLException the malformed URL exception
-        * @throws AAIUnknownObjectException
+        * @throws AAIUnknownObjectException 
         * @throws URISyntaxException 
          */
         public Introspector dbToObject(List<Vertex> vertices, final Introspector obj, int depth, boolean nodeOnly, String cleanUp) throws UnsupportedEncodingException, AAIException {
@@ -639,7 +659,7 @@ public class DBSerializer {
         * @throws UnsupportedEncodingException the unsupported encoding exception
         * @throws AAIException the AAI exception
         * @throws MalformedURLException the malformed URL exception
-        * @throws AAIUnknownObjectException
+        * @throws AAIUnknownObjectException 
         * @throws URISyntaxException 
         */
        private Introspector dbToObject(Introspector obj, Vertex v, Set<Vertex> seen, int depth, boolean nodeOnly, String cleanUp) throws AAIException, UnsupportedEncodingException {
@@ -696,7 +716,7 @@ public class DBSerializer {
                                                        //vertices = this.queryEngine.findRelatedVertices(v, Direction.OUT, rule.getLabel(), childDbName);
                                                        Direction ruleDirection = rule.getDirection();
                                                        Iterator<Vertex> itr = v.vertices(ruleDirection, rule.getLabel());
-                                                       List<Vertex> verticesList = (List<Vertex>) IteratorUtils.toList(itr);
+                                                       List<Vertex> verticesList = (List<Vertex>)IteratorUtils.toList(itr);
                                                        itr = verticesList.stream().filter(item -> {
                                                                return item.property(AAIProperties.NODE_TYPE).orElse("").equals(childDbName);
                                                        }).iterator();
@@ -754,7 +774,7 @@ public class DBSerializer {
        }
        
        
-       public Introspector getVertexProperties(Vertex v) throws AAIException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, UnsupportedEncodingException, AAIUnknownObjectException, URISyntaxException {
+       public Introspector getVertexProperties(Vertex v) throws AAIException, UnsupportedEncodingException {
                String nodeType = v.<String>property(AAIProperties.NODE_TYPE).orElse(null);
                if (nodeType == null) {
                        throw new AAIException("AAI_6143");
@@ -769,7 +789,7 @@ public class DBSerializer {
                return obj;
                
        }
-       public Introspector getLatestVersionView(Vertex v) throws AAIException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, SecurityException, InstantiationException, NoSuchMethodException, UnsupportedEncodingException, AAIUnknownObjectException, URISyntaxException {
+       public Introspector getLatestVersionView(Vertex v) throws AAIException, UnsupportedEncodingException {
                String nodeType = v.<String>property(AAIProperties.NODE_TYPE).orElse(null);
                if (nodeType == null) {
                        throw new AAIException("AAI_6143");
@@ -892,7 +912,7 @@ public class DBSerializer {
         * @throws UnsupportedEncodingException the unsupported encoding exception
         * @throws AAIException the AAI exception
         * @throws MalformedURLException the malformed URL exception
-        * @throws AAIUnknownObjectException
+        * @throws AAIUnknownObjectException 
         * @throws URISyntaxException 
         */
                private Object processEdgeRelationship(Introspector relationshipObj, Vertex cousin, String cleanUp) throws UnsupportedEncodingException, AAIUnknownObjectException {
@@ -940,7 +960,7 @@ public class DBSerializer {
         * @throws NoSuchMethodException the no such method exception
         * @throws SecurityException the security exception
         * @throws UnsupportedEncodingException the unsupported encoding exception
-        * @throws AAIUnknownObjectException
+        * @throws AAIUnknownObjectException 
         */
        public URI getURIForVertex(Vertex v) throws UnsupportedEncodingException {
                
@@ -992,7 +1012,7 @@ public class DBSerializer {
         * @throws InvocationTargetException the invocation target exception
         * @throws NoSuchMethodException the no such method exception
         * @throws SecurityException the security exception
-        * @throws AAIUnknownObjectException
+        * @throws AAIUnknownObjectException 
         */
        private Pair<Vertex, List<Introspector>> getParents(Loader loader, Vertex start, boolean removeDamaged) {
                
@@ -1069,7 +1089,7 @@ public class DBSerializer {
        
        /**
         * Adds the r
-        * @throws AAIUnknownObjectException
+        * @throws AAIUnknownObjectException 
         * @throws IllegalArgumentException elated to property.
         *
         * @param relationship the relationship
@@ -1154,7 +1174,7 @@ public class DBSerializer {
         * @param bVertex the in vertex
         * @return the edges between
         * @throws AAIException the AAI exception
-        * @throws NoEdgeRuleFoundException
+        * @throws NoEdgeRuleFoundException 
         */
        private List<Edge> getEdgesBetween(EdgeType type, Vertex aVertex, Vertex bVertex) throws AAIException, NoEdgeRuleFoundException {
                
@@ -1183,9 +1203,9 @@ public class DBSerializer {
         * @param bVertex the in vertex
         * @return the edge between
         * @throws AAIException the AAI exception
-        * @throws NoEdgeRuleFoundException
+        * @throws NoEdgeRuleFoundException 
         */
-       private Edge getEdgeBetween(EdgeType type, Vertex aVertex, Vertex bVertex) throws AAIException {
+       public Edge getEdgeBetween(EdgeType type, Vertex aVertex, Vertex bVertex) throws AAIException {
                
                
                
@@ -1314,8 +1334,8 @@ public class DBSerializer {
                if (enableResourceVersion && !this.verifyResourceVersion("delete", nodeType, vertex.<String>property(AAIProperties.RESOURCE_VERSION).orElse(null), resourceVersion, nodeType)) {
                }
                semantic = edgeRules.getDeleteSemantic(nodeType);
-               inEdges = (List<Edge>) IteratorUtils.toList(vertex.edges(Direction.IN));
-               outEdges = (List<Edge>) IteratorUtils.toList(vertex.edges(Direction.OUT));
+               inEdges = (List<Edge>)IteratorUtils.toList(vertex.edges(Direction.IN));
+               outEdges = (List<Edge>)IteratorUtils.toList(vertex.edges(Direction.OUT));
                if (semantic.equals(DeleteSemantic.CASCADE_TO_CHILDREN)) {
                        result = true;
                } else if (semantic.equals(DeleteSemantic.ERROR_IF_ANY_EDGES)) {
@@ -1380,7 +1400,7 @@ public class DBSerializer {
                
                
                if (!result) {
-                       throw new AAIException(aaiExceptionCode, errorDetail);
+                       throw new AAIException(aaiExceptionCode, errorDetail); 
                }
                return result;
        }
@@ -1426,7 +1446,7 @@ public class DBSerializer {
                                        aaiExceptionCode = "AAI_6131";
                                }
                                
-                               throw new AAIException(aaiExceptionCode, errorDetail);
+                               throw new AAIException(aaiExceptionCode, errorDetail); 
                                
                        }
                }
@@ -1478,7 +1498,7 @@ public class DBSerializer {
                runner.execute(obj, self);
        }
        
-       private void enrichData(Introspector obj, Vertex self) throws AAIException {
+       private void enrichData(Introspector obj, Vertex self) throws AAIException  {
                
                SideEffectRunner runner = new SideEffectRunner
                                .Builder(this.engine, this).addSideEffect(DataLinkReader.class).build();
index 2a34262..9e4e839 100644 (file)
@@ -25,6 +25,7 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
@@ -35,6 +36,7 @@ import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.openecomp.aai.db.props.AAIProperties;
 import org.openecomp.aai.dbmodel.DbEdgeRules;
 import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.serialization.db.exceptions.EdgeMultiplicityException;
 import org.openecomp.aai.serialization.db.exceptions.NoEdgeRuleFoundException;
 import com.google.common.collect.ArrayListMultimap;
 import com.google.common.collect.Multimap;
@@ -82,7 +84,7 @@ public class EdgeRules {
         * @throws NoEdgeRuleFoundException 
         */
        public Edge addTreeEdge(GraphTraversalSource traversalSource, Vertex aVertex, Vertex bVertex) throws AAIException {
-               return this.addEdge(EdgeType.TREE, traversalSource, aVertex, bVertex);
+               return this.addEdge(EdgeType.TREE, traversalSource, aVertex, bVertex, false);
        }
        
        /**
@@ -95,7 +97,33 @@ public class EdgeRules {
         * @throws NoEdgeRuleFoundException 
         */
        public Edge addEdge(GraphTraversalSource traversalSource, Vertex aVertex, Vertex bVertex) throws AAIException {
-               return this.addEdge(EdgeType.COUSIN, traversalSource, aVertex, bVertex);
+               return this.addEdge(EdgeType.COUSIN, traversalSource, aVertex, bVertex, false);
+       }
+       
+       /**
+        * Adds the tree edge.
+        *
+        * @param aVertex the out vertex
+        * @param bVertex the in vertex
+        * @return the edge
+        * @throws AAIException the AAI exception
+        * @throws NoEdgeRuleFoundException 
+        */
+       public Edge addTreeEdgeIfPossible(GraphTraversalSource traversalSource, Vertex aVertex, Vertex bVertex) throws AAIException {
+               return this.addEdge(EdgeType.TREE, traversalSource, aVertex, bVertex, true);
+       }
+       
+       /**
+        * Adds the edge.
+        *
+        * @param aVertex the out vertex
+        * @param bVertex the in vertex
+        * @return the edge
+        * @throws AAIException the AAI exception
+        * @throws NoEdgeRuleFoundException 
+        */
+       public Edge addEdgeIfPossible(GraphTraversalSource traversalSource, Vertex aVertex, Vertex bVertex) throws AAIException {
+               return this.addEdge(EdgeType.COUSIN, traversalSource, aVertex, bVertex, true);
        }
        
        /**
@@ -108,12 +136,18 @@ public class EdgeRules {
         * @throws AAIException the AAI exception
         * @throws NoEdgeRuleFoundException 
         */
-       private Edge addEdge(EdgeType type, GraphTraversalSource traversalSource, Vertex aVertex, Vertex bVertex) throws AAIException, NoEdgeRuleFoundException {
+       private Edge addEdge(EdgeType type, GraphTraversalSource traversalSource, Vertex aVertex, Vertex bVertex, boolean isBestEffort) throws AAIException, NoEdgeRuleFoundException {
 
                EdgeRule rule = this.getEdgeRule(type, aVertex, bVertex);
 
                Edge e = null;
-               if (this.validateMultiplicity(rule, traversalSource, aVertex, bVertex)) {
+               
+               Optional<String> message = this.validateMultiplicity(rule, traversalSource, aVertex, bVertex);
+               
+               if (message.isPresent() && !isBestEffort) {
+                       throw new EdgeMultiplicityException(message.get());
+               }
+               if (!message.isPresent()) {
                        if (rule.getDirection().equals(Direction.OUT)) {
                                e = aVertex.addEdge(rule.getLabel(), bVertex);
                        } else if (rule.getDirection().equals(Direction.IN)) {
@@ -319,7 +353,7 @@ public class EdgeRules {
         * @return true, if successful
         * @throws AAIException the AAI exception
         */
-       private boolean validateMultiplicity(EdgeRule rule, GraphTraversalSource traversalSource, Vertex aVertex, Vertex bVertex) throws AAIException {
+       private Optional<String> validateMultiplicity(EdgeRule rule, GraphTraversalSource traversalSource, Vertex aVertex, Vertex bVertex) {
 
                if (rule.getDirection().equals(Direction.OUT)) {
                        
@@ -353,11 +387,12 @@ public class EdgeRules {
                }
                
                if (!detail.equals("")) {
-                       throw new AAIException("AAI_6140", detail);
+                       return Optional.of(detail);
+               } else  {
+                       return Optional.empty();
                }
                
-               return true;
-               
+                               
        }
        
        public Multimap<String, EdgeRule> getAllRules() throws AAIException {
diff --git a/aai-core/src/main/java/org/openecomp/aai/serialization/db/exceptions/EdgeMultiplicityException.java b/aai-core/src/main/java/org/openecomp/aai/serialization/db/exceptions/EdgeMultiplicityException.java
new file mode 100644 (file)
index 0000000..081a2d6
--- /dev/null
@@ -0,0 +1,40 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.serialization.db.exceptions;
+
+import org.openecomp.aai.exceptions.AAIException;
+
+public class EdgeMultiplicityException extends AAIException {
+
+       private static final long serialVersionUID = -5575661036426538012L;
+
+       public EdgeMultiplicityException(String message) {
+               super("AAI_6140", message);
+       }
+
+       public EdgeMultiplicityException(Throwable cause) {
+               super("AAI_6140",cause);
+       }
+
+       public EdgeMultiplicityException(String message, Throwable cause) {
+               super("AAI_6140", cause, message);
+       }
+}
index ca12eab..3f259ae 100644 (file)
@@ -44,7 +44,7 @@ public abstract class TransactionalGraphEngine {
        
        protected GraphSingleton singleton = null;
        protected QueryEngine queryEngine = null;
-       protected QueryBuilder queryBuilder = null;
+       protected QueryBuilder<Vertex> queryBuilder = null;
        protected QueryStyle style = null;
        protected final DBConnectionType connectionType;
        protected final Loader loader;
@@ -141,19 +141,19 @@ public abstract class TransactionalGraphEngine {
         *
         * @return the query builder
         */
-       public QueryBuilder getQueryBuilder() {
+       public QueryBuilder<Vertex> getQueryBuilder() {
                return getQueryBuilder(this.loader);
        }
        
-       public QueryBuilder getQueryBuilder(Loader loader) {
+       public QueryBuilder<Vertex> getQueryBuilder(Loader loader) {
                if (style.equals(QueryStyle.GREMLIN_TRAVERSAL)) {
-                       return new GremlinTraversal(loader, this.asAdmin().getTraversalSource());
+                       return new GremlinTraversal<>(loader, this.asAdmin().getTraversalSource());
                } else if (style.equals(QueryStyle.GREMLIN_UNIQUE)) {
-                       return new GremlinUnique(loader, this.asAdmin().getTraversalSource());
+                       return new GremlinUnique<>(loader, this.asAdmin().getTraversalSource());
                } else if (style.equals(QueryStyle.GREMLINPIPELINE_TRAVERSAL)) {
                        //return new GremlinPipelineTraversal(loader);
                } else if (style.equals(QueryStyle.TRAVERSAL)) {
-                       return new TraversalQuery(loader, this.asAdmin().getTraversalSource());
+                       return new TraversalQuery<>(loader, this.asAdmin().getTraversalSource());
                }  else {
                        throw new IllegalArgumentException("Query Builder type not recognized");
                }
@@ -165,19 +165,19 @@ public abstract class TransactionalGraphEngine {
         * @param start the start
         * @return the query builder
         */
-       public QueryBuilder getQueryBuilder(Vertex start) {
+       public QueryBuilder<Vertex> getQueryBuilder(Vertex start) {
                return getQueryBuilder(this.loader, start);
        }
        
-       public QueryBuilder getQueryBuilder(Loader loader, Vertex start) {
+       public QueryBuilder<Vertex> getQueryBuilder(Loader loader, Vertex start) {
                if (style.equals(QueryStyle.GREMLIN_TRAVERSAL)) {
-                       return new GremlinTraversal(loader, this.asAdmin().getTraversalSource(), start);
+                       return new GremlinTraversal<>(loader, this.asAdmin().getTraversalSource(), start);
                } else if (style.equals(QueryStyle.GREMLIN_UNIQUE)) {
-                       return new GremlinUnique(loader, this.asAdmin().getTraversalSource(), start);
+                       return new GremlinUnique<>(loader, this.asAdmin().getTraversalSource(), start);
                } else if (style.equals(QueryStyle.GREMLINPIPELINE_TRAVERSAL)) {
                        //return new GremlinPipelineTraversal(loader,start);
                } else if (style.equals(QueryStyle.TRAVERSAL)) {
-                       return new TraversalQuery(loader, this.asAdmin().getTraversalSource(), start);
+                       return new TraversalQuery<>(loader, this.asAdmin().getTraversalSource(), start);
                } else {
                        throw new IllegalArgumentException("Query Builder type not recognized");
                }
index 926998f..7144aa6 100644 (file)
@@ -88,6 +88,15 @@ public class GraphTraversalQueryEngine extends QueryEngine {
  
                return pipe.toList();
        }
+       
+       public List<Vertex> findChildren(Vertex start) {
+               GraphTraversal<Vertex, Vertex> pipe =  this.g.V(start).union(
+                                       __.outE().has("isParent", true),
+                                       __.inE().has("isParent-REV", true)
+                               ).otherV().dedup();
+               return pipe.toList();
+       }
 
        /**
         * {@inheritDoc}
index 1d75742..a690ff6 100644 (file)
@@ -25,7 +25,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.openecomp.aai.db.props.AAIProperties;
+import org.openecomp.aai.db.AAIProperties;
 import org.openecomp.aai.query.builder.QueryBuilder;
 import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
 import com.tinkerpop.blueprints.Direction;
index 0285fbd..f77f726 100644 (file)
@@ -62,6 +62,8 @@ public abstract class QueryEngine {
        public abstract List<Vertex> findAllChildren(Vertex start);
        
        public abstract List<Vertex> findChildrenOfType(Vertex start, String type);
+       
+       public abstract List<Vertex> findChildren(Vertex start);
        /**
         * Find deletable.
         *
index feb8893..783d52e 100644 (file)
 
 package org.openecomp.aai.serialization.queryformats;
 
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Stream;
+
+import org.openecomp.aai.serialization.queryformats.exceptions.AAIFormatVertexException;
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
-import org.openecomp.aai.serialization.queryformats.exceptions.AAIFormatVertexException;
-
-import java.util.List;
-import java.util.Optional;
-import java.util.stream.Stream;
 
 public class Formatter {
 
@@ -37,7 +37,7 @@ public class Formatter {
 
        protected JsonParser parser = new JsonParser();
        protected final FormatMapper format;
-       public Formatter(FormatMapper format) {
+       public Formatter (FormatMapper format) {
                this.format = format;
        }
        
@@ -50,7 +50,7 @@ public class Formatter {
                } else {
                        stream = vertices.stream();
                }
-               
+               final boolean isParallel = stream.isParallel();
                stream.map(v -> {
                        try {
                                return Optional.<JsonObject>of(format.formatObject(v));
@@ -61,7 +61,11 @@ public class Formatter {
                        return Optional.<JsonObject>empty();
                }).forEach(obj -> {
                        if (obj.isPresent()) {
-                               synchronized (body) {
+                               if (isParallel) {
+                                       synchronized (body) {
+                                               body.add(obj.get());
+                                       }
+                               } else {
                                        body.add(obj.get());
                                }
                        }
index bea50db..9fcb521 100644 (file)
 
 package org.openecomp.aai.util;
 
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import org.eclipse.jetty.util.security.Password;
-import org.openecomp.aai.exceptions.AAIException;
-import org.openecomp.aai.logging.ErrorLogHelper;
-
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -36,6 +30,13 @@ import java.util.HashMap;
 import java.util.Properties;
 import java.util.Timer;
 
+import org.eclipse.jetty.util.security.Password;
+
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.logging.ErrorLogHelper;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+
 
 public class AAIConfig {
 
@@ -59,7 +60,7 @@ public class AAIConfig {
      *
      * @throws AAIException the AAI exception
      */
-    public synchronized static void init() throws AAIException {
+    public synchronized static void init() throws AAIException{
                LOGGER.info("Initializing AAIConfig");
                
                ArrayList<String> genericVnfBools = new ArrayList<String>();
@@ -89,7 +90,7 @@ public class AAIConfig {
         AAIConfig.getConfigFile();
         AAIConfig.reloadConfig();
         
-        if (AAIConstants.AAI_NODENAME == null || AAIConstants.AAI_NODENAME == "") {
+        if (AAIConstants.AAI_NODENAME == null || AAIConstants.AAI_NODENAME == "") {      
             ErrorLogHelper.logError("AAI_4005", " AAI_NODENAME is not defined");
         } else {
             LOGGER.info("A&AI Server Node Name = " + AAIConstants.AAI_NODENAME);
@@ -217,7 +218,7 @@ public class AAIConfig {
      * @return the int
      * @throws AAIException the AAI exception
      */
-    public static int getInt(String key) throws AAIException {
+    public static int getInt(String key) throws AAIException{
        return Integer.valueOf(AAIConfig.get(key));
        }
 
index eeef94e..0da8484 100644 (file)
 
 package org.openecomp.aai.util;
 
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
+import java.io.IOException;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
 import org.apache.hadoop.hbase.HBaseConfiguration;
-import org.apache.hadoop.hbase.client.*;
+import org.apache.hadoop.hbase.client.Get;
+import org.apache.hadoop.hbase.client.HTable;
+import org.apache.hadoop.hbase.client.Put;
+import org.apache.hadoop.hbase.client.Result;
+import org.apache.hadoop.hbase.client.ResultScanner;
+import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
 import org.apache.hadoop.hbase.filter.Filter;
 import org.apache.hadoop.hbase.filter.FilterList;
 import org.apache.hadoop.hbase.filter.RegexStringComparator;
 import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
 import org.apache.hadoop.hbase.util.Bytes;
+
 import org.openecomp.aai.domain.notificationEvent.NotificationEvent;
 import org.openecomp.aai.domain.translog.TransactionLogEntries;
 import org.openecomp.aai.domain.translog.TransactionLogEntry;
 import org.openecomp.aai.exceptions.AAIException;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
 
-import java.io.IOException;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-public class AAITxnLog {
+public class AAITxnLog  {
 
        private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(AAITxnLog.class);
 
@@ -340,8 +346,8 @@ public class AAITxnLog {
         * @param fromAppIdFilter the from app id filter
         * @return the transaction log entries
         */
-       public TransactionLogEntries scanFiltered(long startMillis, long endMillis, List<String> methodList,
-                                              String putFilter, String getFilter, String resourceFilter, String fromAppIdFilter) {
+       public TransactionLogEntries scanFiltered(long startMillis, long endMillis, List<String> methodList, 
+                       String putFilter, String getFilter, String resourceFilter, String fromAppIdFilter) {
 
                LOGGER.debug("Starting scanFiltered()");
                
diff --git a/aai-core/src/main/java/org/openecomp/aai/util/HttpsAuthClient.java b/aai-core/src/main/java/org/openecomp/aai/util/HttpsAuthClient.java
new file mode 100644 (file)
index 0000000..8522504
--- /dev/null
@@ -0,0 +1,140 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.util;
+
+import java.io.FileInputStream;
+import java.security.KeyManagementException;
+import java.security.KeyStore;
+
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.KeyManagerFactory;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSession;
+
+import org.openecomp.aai.domain.yang.Customers;
+import com.sun.jersey.api.client.Client;
+import com.sun.jersey.api.client.ClientResponse;
+import com.sun.jersey.api.client.config.ClientConfig;
+import com.sun.jersey.api.client.config.DefaultClientConfig;
+import com.sun.jersey.api.client.filter.LoggingFilter;
+import com.sun.jersey.api.json.JSONConfiguration;
+import com.sun.jersey.client.urlconnection.HTTPSProperties;
+
+public class HttpsAuthClient{
+
+       /**
+        * The main method.
+        *
+        * @param args the arguments
+        */
+       public static void main(String[] args) {
+               try {
+                       String url = AAIConfig.get(AAIConstants.AAI_SERVER_URL) + "business/customers";
+                       System.out.println("Making Jersey https call...");
+                       Client client = HttpsAuthClient.getClient();
+               
+                       ClientResponse res = client.resource(url)
+                                       .accept("application/json")
+                                       .header("X-TransactionId", "PROV001")
+                                       .header("X-FromAppId",  "AAI")
+                                       .type("application/json")
+                                       .get(ClientResponse.class);
+                       
+//                     System.out.println("Jersey result: ");
+//                     System.out.println(res.getEntity(String.class).toString());
+                       
+                       Customers customers = res.getEntity(Customers.class);
+                       System.out.println("Jersey result: ");
+                       System.out.println("Number of customers: " + customers.getCustomer().size());   
+                       
+               } catch (KeyManagementException e) {
+                       e.printStackTrace();
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+       }
+
+       
+       /**
+        * Gets the client.
+        *
+        * @return the client
+        * @throws KeyManagementException the key management exception
+        */
+       public static Client getClient() throws KeyManagementException {
+               
+               ClientConfig config = new DefaultClientConfig();
+               config.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, Boolean.TRUE);
+               config.getClasses().add(org.openecomp.aai.restcore.CustomJacksonJaxBJsonProvider.class);
+       
+               SSLContext ctx = null;
+               try {
+                       String truststore_path = AAIConstants.AAI_HOME_ETC_AUTH + AAIConfig.get(AAIConstants.AAI_TRUSTSTORE_FILENAME);
+                       String truststore_password = AAIConfig.get(AAIConstants.AAI_TRUSTSTORE_PASSWD);
+                       String keystore_path = AAIConstants.AAI_HOME_ETC_AUTH + AAIConfig.get(AAIConstants.AAI_KEYSTORE_FILENAME);
+                       String keystore_password = AAIConfig.get(AAIConstants.AAI_KEYSTORE_PASSWD);
+
+                   System.setProperty("javax.net.ssl.trustStore", truststore_path);
+                   System.setProperty("javax.net.ssl.trustStorePassword", truststore_password);
+                       HttpsURLConnection.setDefaultHostnameVerifier( new HostnameVerifier(){
+                           public boolean verify(String string,SSLSession ssls) {
+                               return true;
+                           }
+                       });
+                                               
+                       ctx = SSLContext.getInstance("TLSv1.2");
+                       KeyManagerFactory kmf = null;
+                       try {
+                               kmf = KeyManagerFactory.getInstance("SunX509");
+                               FileInputStream fin = new FileInputStream(keystore_path);
+                               KeyStore ks = KeyStore.getInstance("PKCS12");
+                               char[] pwd = keystore_password.toCharArray();
+                               ks.load(fin, pwd);
+                               kmf.init(ks, pwd);
+                       } catch (Exception e) {
+                               System.out.println("Error setting up kmf: exiting");
+                               e.printStackTrace();
+                               System.exit(1);
+                       }
+
+                       ctx.init(kmf.getKeyManagers(), null, null);
+                       config.getProperties().put(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES, 
+                                                                               new HTTPSProperties( new HostnameVerifier() {
+                               @Override
+                               public boolean verify( String s, SSLSession sslSession ) {
+                                       return true;
+                               }
+                       }, ctx));
+               } catch (Exception e) {
+                       System.out.println("Error setting up config: exiting");
+                       e.printStackTrace();
+                       System.exit(1);
+               }
+                       
+               Client client = Client.create(config);
+               // uncomment this line to get more logging for the request/response
+               // client.addFilter(new LoggingFilter(System.out));
+               
+               return client;
+       }
+       
+}  
index 25b777d..862f691 100644 (file)
 
 package org.openecomp.aai.exceptions;
 
-
 import static org.junit.Assert.assertEquals;
 
 import org.junit.BeforeClass;
-
 import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
+import org.openecomp.aai.serialization.queryformats.QueryFormatTestHelper;
+import org.openecomp.aai.util.AAIConstants;
 
 public class AAIExceptionTest {
   private static final String code = "4004";
@@ -36,11 +34,12 @@ public class AAIExceptionTest {
   private static final Throwable noMessage = new RuntimeException();
   
   @BeforeClass
-       public static void configure() {
-               System.setProperty("AJSC_HOME", "./src/test/resources/");
-               System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+       public static void configure() throws NoSuchFieldException, SecurityException, Exception {
+               System.setProperty("AJSC_HOME", ".");
+               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
+               QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/org/openecomp/aai/introspection/");
        }
-  
+
   /**
    * Test constructor with 0 params.
    *
index 65381d6..b6357e4 100644 (file)
@@ -22,6 +22,8 @@ package org.openecomp.aai.exceptions;
 
 import org.junit.BeforeClass;
 import org.junit.Test;
+import org.openecomp.aai.serialization.queryformats.QueryFormatTestHelper;
+import org.openecomp.aai.util.AAIConstants;
 
 import java.util.HashMap;
 
@@ -44,9 +46,10 @@ public class AAIExceptionWithInfoTest {
        private static final Throwable cause = new RuntimeException("This is a runtime exception.");
 
        @BeforeClass
-       public static void configure() {
-               System.setProperty("AJSC_HOME", "./src/test/resources/");
-               System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+       public static void configure() throws NoSuchFieldException, SecurityException, Exception {
+               System.setProperty("AJSC_HOME", ".");
+               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
+               QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/org/openecomp/aai/introspection/");
        }
 
        /**
index 73d8101..47fef7e 100644 (file)
 
 package org.openecomp.aai.introspection;
 
-import com.google.common.collect.Sets;
-import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
+import static org.junit.Assert.assertEquals;
 
+import java.util.Arrays;
 import java.util.Set;
 
-import static org.junit.Assert.assertEquals;
+import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
+import com.google.common.collect.Sets;
 
 public class IntrospectorTestSpec {
 
@@ -35,7 +36,7 @@ public class IntrospectorTestSpec {
         * Container test set.
         *
         * @param wrappedPortGroups the wrapped port groups
-        * @throws AAIUnknownObjectException
+        * @throws AAIUnknownObjectException 
         */
        protected void containerTestSet(Introspector wrappedPortGroups) throws AAIUnknownObjectException {
                
index 7b8f338..9504c46 100644 (file)
 
 package org.openecomp.aai.introspection;
 
+import java.io.StringReader;
+
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+
 import org.eclipse.persistence.dynamic.DynamicEntity;
 import org.eclipse.persistence.jaxb.UnmarshallerProperties;
 import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
 import org.junit.BeforeClass;
 import org.junit.Test;
+
 import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
 import org.openecomp.aai.serialization.queryformats.QueryFormatTestHelper;
 import org.openecomp.aai.util.AAIConstants;
 
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
-import java.io.StringReader;
-
 public class MoxyEngineTest extends IntrospectorTestSpec {
 
        /**
@@ -50,7 +52,7 @@ public class MoxyEngineTest extends IntrospectorTestSpec {
        
        /**
         * Container object.
-        * @throws AAIUnknownObjectException
+        * @throws AAIUnknownObjectException 
         */
        @Test
        public void containerObject() throws AAIUnknownObjectException {
index 333bc9e..34a6279 100644 (file)
 
 package org.openecomp.aai.introspection;
 
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.openecomp.aai.db.props.AAIProperties;
+import static org.junit.Assert.*;
 
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
 import javax.xml.bind.Marshaller;
 
-import static org.junit.Assert.*;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import org.openecomp.aai.db.props.AAIProperties;
 
 public class PojoInjestorTest {
 
index d1e35a2..0eeb966 100644 (file)
 
 package org.openecomp.aai.introspection;
 
+import static org.junit.Assert.*;
+
 import org.junit.BeforeClass;
 import org.junit.Test;
+
 import org.openecomp.aai.domain.yang.v9.VnfImage;
 import org.openecomp.aai.introspection.exceptions.AAIUnmarshallingException;
 import org.openecomp.aai.restcore.MediaType;
 
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
 public class PojoLoaderTest {
 
        
index 0bd6117..4843b10 100644 (file)
 
 package org.openecomp.aai.introspection;
 
+import static org.junit.Assert.*;
+
 import org.junit.Test;
+
 import org.openecomp.aai.domain.yang.CloudRegion;
 import org.openecomp.aai.domain.yang.VolumeGroup;
 import org.openecomp.aai.schema.enums.ObjectMetadata;
 
-import static org.junit.Assert.assertEquals;
-
 public class PojoStrategyTest {
 
        @Test
index a7cde11..1f99733 100644 (file)
 
 package org.openecomp.aai.introspection;
 
+import static org.hamcrest.Matchers.*;
+import static org.junit.Assert.*;
+import java.util.Set;
+
 import org.junit.BeforeClass;
 import org.junit.Test;
+
 import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
 import org.openecomp.aai.serialization.queryformats.QueryFormatTestHelper;
 import org.openecomp.aai.util.AAIConstants;
 
-import java.util.Set;
-
-import static org.hamcrest.Matchers.hasItems;
-import static org.hamcrest.Matchers.not;
-import static org.junit.Assert.assertThat;
-
 public class PropertyPredicatesTest {
 
        
index 52ed0d8..8781d59 100644 (file)
 
 package org.openecomp.aai.introspection;
 
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
-import org.openecomp.aai.restcore.CustomJacksonJaxBJsonProvider;
-
-import javax.xml.bind.JAXBException;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
 
+import javax.xml.bind.JAXBException;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import org.openecomp.aai.introspection.exceptions.AAIUnknownObjectException;
+import org.openecomp.aai.restcore.CustomJacksonJaxBJsonProvider;
+
 public class ReflectionEngineTest extends IntrospectorTestSpec {
 
        /**
@@ -48,7 +50,7 @@ public class ReflectionEngineTest extends IntrospectorTestSpec {
         * @throws InstantiationException the instantiation exception
         * @throws IllegalAccessException the illegal access exception
         * @throws ClassNotFoundException the class not found exception
-        * @throws AAIUnknownObjectException
+        * @throws AAIUnknownObjectException 
         */
        @Test
        public void containerObject() throws InstantiationException, IllegalAccessException, ClassNotFoundException, AAIUnknownObjectException {
index 70d6b12..4d18835 100644 (file)
@@ -83,8 +83,8 @@ public class DataCopyTest {
        @BeforeClass
        public static void setup() throws NoSuchFieldException, SecurityException, Exception {
                graph = TitanFactory.build().set("storage.backend","inmemory").open();
-               System.setProperty("AJSC_HOME", "./src/test/resources/");
-               System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+               System.setProperty("AJSC_HOME", ".");
+               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
                QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/org/openecomp/aai/introspection/");
                loader = LoaderFactory.createLoaderForVersion(introspectorFactoryType, version);
                dbEngine = new TitanDBEngine(
index a9e707a..595cb86 100644 (file)
@@ -80,8 +80,8 @@ public class DataLinkTest {
        @BeforeClass
        public static void setup() throws NoSuchFieldException, SecurityException, Exception {
                graph = TitanFactory.build().set("storage.backend","inmemory").open();
-               System.setProperty("AJSC_HOME", "./src/test/resources/");
-               System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+               System.setProperty("AJSC_HOME", ".");
+               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
                QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/org/openecomp/aai/introspection/");
                loader = LoaderFactory.createLoaderForVersion(introspectorFactoryType, version);
                dbEngine = new TitanDBEngine(
diff --git a/aai-core/src/test/java/org/openecomp/aai/introspection/validation/IntrospectorValidationTest.java b/aai-core/src/test/java/org/openecomp/aai/introspection/validation/IntrospectorValidationTest.java
new file mode 100644 (file)
index 0000000..459746b
--- /dev/null
@@ -0,0 +1,99 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.introspection.validation;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.List;
+
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import org.openecomp.aai.exceptions.AAIException;
+import org.openecomp.aai.introspection.Introspector;
+import org.openecomp.aai.introspection.Loader;
+import org.openecomp.aai.introspection.LoaderFactory;
+import org.openecomp.aai.introspection.ModelType;
+import org.openecomp.aai.introspection.Version;
+import org.openecomp.aai.introspection.tools.IntrospectorValidator;
+import org.openecomp.aai.introspection.tools.Issue;
+import org.openecomp.aai.introspection.tools.IssueType;
+import org.openecomp.aai.serialization.queryformats.QueryFormatTestHelper;
+import org.openecomp.aai.util.AAIConstants;
+
+public class IntrospectorValidationTest {
+
+       
+       private final static Version version = Version.v10;
+       private final static ModelType introspectorFactoryType = ModelType.MOXY;
+       private static Loader loader;
+       private IntrospectorValidator validator;
+       @BeforeClass
+       public static void setUp() throws NoSuchFieldException, SecurityException, Exception {
+               System.setProperty("AJSC_HOME", ".");
+               System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+               QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/org/openecomp/aai/introspection/");
+               
+               loader = LoaderFactory.createLoaderForVersion(introspectorFactoryType, version);
+
+       }
+       @Before
+       public void createValidator() {
+               validator = new IntrospectorValidator.Builder()
+                               .validateRequired(false)
+                               .restrictDepth(10000)
+                               .build();
+       }
+       @Test
+       public void verifySuccessWhenEmpty() throws AAIException {
+               Introspector obj = loader.introspectorFromName("test-object");
+               obj.setValue("vnf-id", "key1");
+               validator.validate(obj);
+               List<Issue> issues = validator.getIssues();
+               assertEquals("no issues found", true, issues.isEmpty());
+       }
+
+       @Ignore
+       @Test
+       public void verifyRequiresSingleFieldFailure() throws AAIException {
+               Introspector obj = loader.introspectorFromName("test-object");
+               obj.setValue("vnf-id", "key1");
+               obj.setValue("model-invariant-id", "id1");
+               validator.validate(obj);
+               List<Issue> issues = validator.getIssues();
+               assertEquals("issues found", true, issues.size() == 1);
+               Issue issue = issues.get(0);
+               assertEquals("found expected issue", IssueType.DEPENDENT_PROP_NOT_FOUND, issue.getType());
+       }
+       
+       @Test
+       public void verifyRequiresSuccess() throws AAIException {
+               Introspector obj = loader.introspectorFromName("test-object");
+               obj.setValue("vnf-id", "key1");
+               obj.setValue("model-invariant-id", "id1");
+               obj.setValue("model-version-id", "version-id1");
+               validator.validate(obj);
+               List<Issue> issues = validator.getIssues();
+               assertEquals("no issues found", true, issues.isEmpty());
+       }
+}
diff --git a/aai-core/src/test/java/org/openecomp/aai/logging/LoggingContextTest.java b/aai-core/src/test/java/org/openecomp/aai/logging/LoggingContextTest.java
new file mode 100644 (file)
index 0000000..3fe2098
--- /dev/null
@@ -0,0 +1,114 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.logging;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Collections;
+import java.util.Deque;
+import java.util.LinkedList;
+import java.util.Map;
+import java.util.UUID;
+
+import org.junit.Test;
+
+public class LoggingContextTest {
+
+       private static final int MAX_STORED_CONTEXTS = 100;
+
+       @Test
+       public void testStopWatch() {
+               try {
+                       LoggingContext.stopWatchStop();
+                       throw new AssertionError("No exception thrown when LoggingContext.stopWatchStop() called without a prior LoggingContext.stopWatchStart()");
+               } catch (StopWatchNotStartedException e) {
+                       //Expected
+               }
+
+               LoggingContext.stopWatchStart();
+
+               assertTrue(LoggingContext.stopWatchStop() >= 0);
+
+               try {
+                       LoggingContext.stopWatchStop();
+                       throw new AssertionError("No exception thrown when LoggingContext.stopWatchStop() twice in succession");
+               } catch (StopWatchNotStartedException e) {
+                       //Expected
+               }
+       }
+
+       @Test
+       public void testRequestId() { //AKA Transaction ID
+               final String sUuid = "57d51eaa-edc6-4f50-a69d-f2d4d2445120";
+
+               LoggingContext.requestId(sUuid);
+
+               assertEquals(LoggingContext.requestId(), UUID.fromString(sUuid));
+
+               final UUID uuid = UUID.randomUUID();
+
+               LoggingContext.requestId(uuid);
+
+               assertEquals(LoggingContext.requestId(), uuid);
+
+               LoggingContext.requestId("foo"); //Illegal - this will result in a new, randomly
+                                                                               //generated UUID as per the logging spec
+
+               assertNotNull(LoggingContext.requestId()); //Make sure ANY UUID was assigned
+               assertNotEquals(LoggingContext.requestId(), uuid); //Make sure it actually changed from the last
+                                                                                                                       //known valid UUID
+       }
+
+       @Test
+       public void testClear() {
+               LoggingContext.init();
+               LoggingContext.clear();
+
+               assertEquals(Collections.emptyMap(), LoggingContext.getCopy());
+       }
+
+       @Test
+       public void testSaveRestore() {
+
+               final Deque<Map<String, String>> contexts  = new LinkedList<Map<String, String>> ();
+
+               LoggingContext.init();
+
+               for (int i = 0; i < MAX_STORED_CONTEXTS; i++) {
+                       LoggingContext.customField1(String.valueOf(i));
+       
+                       assertEquals(LoggingContext.customField1(), String.valueOf(i));
+
+                       LoggingContext.save();
+
+                       contexts.push(LoggingContext.getCopy());
+               }
+
+               while (contexts.peek() != null) {
+                       LoggingContext.restore();
+
+                       assertEquals(LoggingContext.getCopy(), contexts.pop());
+               }
+       }
+}
index 79f75ab..099ea37 100644 (file)
@@ -39,6 +39,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.junit.BeforeClass;
+import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
@@ -48,6 +49,7 @@ import org.openecomp.aai.exceptions.AAIException;
 import org.openecomp.aai.introspection.LoaderFactory;
 import org.openecomp.aai.introspection.ModelType;
 import org.openecomp.aai.introspection.Version;
+import org.openecomp.aai.rest.RestTokens;
 import org.openecomp.aai.serialization.engines.QueryStyle;
 import org.openecomp.aai.serialization.engines.TitanDBEngine;
 import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
@@ -72,8 +74,8 @@ public class GraphTraversalTest {
         */
        @BeforeClass
        public static void configure() throws NoSuchFieldException, SecurityException, Exception {
-               System.setProperty("AJSC_HOME", "./src/test/resources/");
-               System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+               System.setProperty("AJSC_HOME", ".");
+               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
                QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/org/openecomp/aai/introspection/");
                dbEngine = 
                                new TitanDBEngine(QueryStyle.TRAVERSAL, 
@@ -486,8 +488,7 @@ public class GraphTraversalTest {
                QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
                
                GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
-                               .has("vnf-id", "key1").has(
-                                               AAIProperties.NODE_TYPE, P.within("vce" , "vpe" , "generic-vnf"));
+                               .has("vnf-id", "key1").has(AAIProperties.NODE_TYPE, P.within("vce", "vpe", "generic-vnf"));
                        
                GraphTraversal<Vertex, Vertex> expectedParent = expected;
                assertEquals(
@@ -534,8 +535,7 @@ public class GraphTraversalTest {
                
                GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
                                .has("vnf-id", "key1").has(AAIProperties.NODE_TYPE, P.within("vce", "vpe", "generic-vnf"))
-                .union(__.out("has").has("aai-node-type", "vf-module"))
-                               .has("vf-module-id", "key2");
+                               .union(__.out("has").has(AAIProperties.NODE_TYPE, "vf-module")).has("vf-module-id", "key2");
                
                GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
                                .has("vnf-id", "key1").has(AAIProperties.NODE_TYPE, P.within("vce", "vpe", "generic-vnf"));
@@ -691,7 +691,138 @@ public class GraphTraversalTest {
                                "",
                                query.getParentResultType());
                assertEquals("dependent",true, query.isDependent());
-               
+       }
+
+       @Ignore
+       @Test
+       public void pluralCousin() throws UnsupportedEncodingException, AAIException {
+               URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/complex/key1/related-to/pservers").build();
+
+               QueryParser query = dbEnginev9.getQueryBuilder().createQueryFromURI(uri);
+               GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+                               .has("physical-location-id", "key1")
+                               .has("aai-node-type", "complex")
+                               .in("locatedIn").has("aai-node-type", "pserver");
+               GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+                               .has("physical-location-id", "key1")
+                               .has("aai-node-type", "complex");
+
+               assertEquals(
+                               "gremlin query should be " + expected.toString(),
+                               expected.toString(),
+                               query.getQueryBuilder().getQuery().toString());
+               assertEquals(
+                               "parent",
+                               expectedParent.toString(),
+                               query.getQueryBuilder().getParentQuery().getQuery().toString());
+
+               assertEquals(
+                               "result type should be",
+                               "pserver",
+                               query.getResultType());
+               assertEquals(
+                               "result type should be",
+                               "complex",
+                               query.getParentResultType());
+               //this is controversial but we're not allowing writes on this currently
+               assertEquals("dependent",true, query.isDependent());
+       }
+
+       @Ignore
+       @Test
+       public void specificCousin() throws UnsupportedEncodingException, AAIException {
+               URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/complex/key1/related-to/pservers/pserver/key2").build();
+
+               QueryParser query = dbEnginev9.getQueryBuilder().createQueryFromURI(uri);
+               GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+                               .has("physical-location-id", "key1")
+                               .has("aai-node-type", "complex")
+                               .in("locatedIn").has("aai-node-type", "pserver")
+                               .has("hostname", "key2");
+               GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+                               .has("physical-location-id", "key1")
+                               .has("aai-node-type", "complex");
+
+               assertEquals(
+                               "gremlin query should be " + expected.toString(),
+                               expected.toString(),
+                               query.getQueryBuilder().getQuery().toString());
+               assertEquals(
+                               "parent",
+                               expectedParent.toString(),
+                               query.getQueryBuilder().getParentQuery().getQuery().toString());
+
+               assertEquals(
+                               "result type should be",
+                               "pserver",
+                               query.getResultType());
+               assertEquals(
+                               "result type should be",
+                               "complex",
+                               query.getParentResultType());
+               //this is controversial but we're not allowing writes on this currently
+               assertEquals("dependent",true, query.isDependent());
+       }
+
+       @Ignore
+       @Test
+       public void doubleSpecificCousin() throws UnsupportedEncodingException, AAIException {
+               URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/complex/key1/related-to/pservers/pserver/key2/related-to/vservers/vserver/key3").build();
+
+               QueryParser query = dbEnginev9.getQueryBuilder().createQueryFromURI(uri);
+               GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start()
+                               .has("physical-location-id", "key1")
+                               .has("aai-node-type", "complex")
+                               .in("locatedIn").has("aai-node-type", "pserver")
+                               .has("hostname", "key2")
+                               .in("runsOnPserver").has("aai-node-type", "vserver")
+                               .has("vserver-id", "key3");
+               GraphTraversal<Vertex, Vertex> expectedParent = __.<Vertex>start()
+                               .has("physical-location-id", "key1")
+                               .has("aai-node-type", "complex")
+                               .in("locatedIn").has("aai-node-type", "pserver")
+                               .has("hostname", "key2");
+
+               assertEquals(
+                               "gremlin query should be " + expected.toString(),
+                               expected.toString(),
+                               query.getQueryBuilder().getQuery().toString());
+               assertEquals(
+                               "parent",
+                               expectedParent.toString(),
+                               query.getQueryBuilder().getParentQuery().getQuery().toString());
+
+               assertEquals(
+                               "result type should be",
+                               "vserver",
+                               query.getResultType());
+               assertEquals(
+                               "result type should be",
+                               "pserver",
+                               query.getParentResultType());
+               //this is controversial but we're not allowing writes on this currently
+               assertEquals("dependent",true, query.isDependent());
+       }
+
+       @Ignore
+       @Test
+       public void traversalEndsInRelatedTo() throws UnsupportedEncodingException, AAIException {
+               URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/complex/key1/related-to").build();
+
+               thrown.expect(AAIException.class);
+               thrown.expectMessage(containsString(RestTokens.COUSIN.toString()));
+               QueryParser query = dbEnginev9.getQueryBuilder().createQueryFromURI(uri);
+
+       }
+
+       @Ignore
+       @Test
+       public void pluralCousinToPluralCousin() throws UnsupportedEncodingException, AAIException {
+               URI uri = UriBuilder.fromPath("cloud-infrastructure/complexes/related-to/pservers").build();
+
+               thrown.expect(AAIException.class);
+               thrown.expectMessage(containsString("chain plurals"));
+               QueryParser query = dbEnginev9.getQueryBuilder().createQueryFromURI(uri);
        
        }
 }
index bab74ed..af61fcb 100644 (file)
 
 package org.openecomp.aai.parsers.query;
 
+import static org.junit.Assert.assertEquals;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+
+import javax.ws.rs.core.UriBuilder;
+import javax.xml.bind.JAXBException;
+
 import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
 import org.junit.BeforeClass;
+import org.junit.Ignore;
 import org.junit.Test;
+
 import org.openecomp.aai.exceptions.AAIException;
 import org.openecomp.aai.introspection.LoaderFactory;
 import org.openecomp.aai.introspection.ModelInjestor;
@@ -32,13 +42,6 @@ import org.openecomp.aai.serialization.engines.QueryStyle;
 import org.openecomp.aai.serialization.engines.TitanDBEngine;
 import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
 
-import javax.ws.rs.core.UriBuilder;
-import javax.xml.bind.JAXBException;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-
-import static org.junit.Assert.assertEquals;
-
 
 public class LegacyQueryTest {
        private ModelInjestor injestor = ModelInjestor.getInstance();
@@ -55,8 +58,8 @@ public class LegacyQueryTest {
         */
        @BeforeClass
        public static void configure() {
-               System.setProperty("AJSC_HOME", "./src/test/resources/");
-               System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+               System.setProperty("AJSC_HOME", ".");
+               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
        }
        
        /**
@@ -104,10 +107,14 @@ public class LegacyQueryTest {
 
                String expected =
                                ".has('hostname', 'key1').has('aai-node-type', 'pserver')"
-                               + ".in('tosca.relationships.BindsTo').has('aai-node-type', 'lag-interface')"
+                               + ".out('hasLAGInterface').has('aai-node-type', 'lag-interface')"
                                + ".has('interface-name', 'key2')";
                String parentExpected = 
                                ".has('hostname', 'key1').has('aai-node-type', 'pserver')";
+               assertEquals(
+                               "gremlin query should be for node",
+                               expected,
+                               query.getQueryBuilder().getQuery());
                assertEquals(
                                "parent gremlin query should be for parent",
                                parentExpected,
@@ -117,5 +124,43 @@ public class LegacyQueryTest {
                                "lag-interface",
                                query.getResultType());
     }
-
+       
+       /**
+        * Naming exceptions.
+        *
+        * @throws JAXBException the JAXB exception
+        * @throws UnsupportedEncodingException the unsupported encoding exception
+        * @throws AAIException the AAI exception
+        */
+       @Ignore
+       @Test
+    public void namingExceptions() throws JAXBException, UnsupportedEncodingException, AAIException {
+               URI uri = UriBuilder.fromPath("network/vces/vce/key1/port-groups/port-group/key2/cvlan-tags/cvlan-tag/655").build();
+       
+               QueryParser query = dbEngine.getQueryBuilder().createQueryFromURI(uri);
+               String expected = 
+                               ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+                               + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
+                               + ".has('interface-id', 'key2')"
+                               + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'cvlan-tag')"
+                               + ".has('cvlan-tag', 655)";
+               String expectedParent = 
+                                               ".has('vnf-id', 'key1').has('aai-node-type', 'vce')"
+                                               + ".in('org.onap.relationships.inventory.BelongsTo').has('aai-node-type', 'port-group')"
+                                               + ".has('interface-id', 'key2')";
+               assertEquals(
+                               "gremlin query should be " + expected,
+                               expected,
+                               query.getQueryBuilder().getQuery());
+               assertEquals(
+                               "parent gremlin query should be equal the query for port group",
+                               expectedParent,
+                               query.getQueryBuilder().getParentQuery().getQuery());
+               assertEquals(
+                               "result type should be cvlan-tag",
+                               "cvlan-tag",
+                               query.getResultType());
+               
+    }
+       
 }
index 12a689f..b3385e3 100644 (file)
@@ -69,8 +69,8 @@ public class RelationshipGremlinQueryTest {
         */
        @BeforeClass
        public static void configure() {
-               System.setProperty("AJSC_HOME", "./src/test/resources/");
-               System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+               System.setProperty("AJSC_HOME", ".");
+               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
        }
        
        
index 8237857..807c750 100644 (file)
@@ -62,8 +62,8 @@ public class RelationshipQueryTest {
         */
        @BeforeClass
        public static void configure() {
-               System.setProperty("AJSC_HOME", "./src/test/resources/");
-               System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+               System.setProperty("AJSC_HOME", ".");
+               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
        }
        
        
@@ -171,8 +171,8 @@ public class RelationshipQueryTest {
         * @throws UnsupportedEncodingException the unsupported encoding exception
         * @throws AAIException the AAI exception
         */
-       @Test
        @Ignore
+       @Test
     public void namingExceptions() throws JAXBException, UnsupportedEncodingException, AAIException {
                String content =
                                "{"
index b8dbc2a..50bbbd0 100644 (file)
 
 package org.openecomp.aai.parsers.query;
 
+import static org.junit.Assert.assertEquals;
+
+import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
+
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.transform.stream.StreamSource;
+
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
@@ -30,25 +39,22 @@ import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Ignore;
 import org.junit.Test;
+
 import org.openecomp.aai.exceptions.AAIException;
-import org.openecomp.aai.introspection.*;
+import org.openecomp.aai.introspection.Introspector;
+import org.openecomp.aai.introspection.IntrospectorFactory;
+import org.openecomp.aai.introspection.LoaderFactory;
+import org.openecomp.aai.introspection.ModelInjestor;
+import org.openecomp.aai.introspection.ModelType;
+import org.openecomp.aai.introspection.Version;
 import org.openecomp.aai.serialization.engines.QueryStyle;
 import org.openecomp.aai.serialization.engines.TitanDBEngine;
 import org.openecomp.aai.serialization.engines.TransactionalGraphEngine;
-
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.transform.stream.StreamSource;
-import java.io.StringReader;
-import java.io.UnsupportedEncodingException;
-
-import static org.junit.Assert.assertEquals;
-
 @Ignore
 public class UniqueRelationshipQueryTest {
        private ModelInjestor injestor = ModelInjestor.getInstance();
-       private TransactionalGraphEngine dbEngine =
-                       new TitanDBEngine(QueryStyle.GREMLIN_UNIQUE,
+       private TransactionalGraphEngine dbEngine = 
+                       new TitanDBEngine(QueryStyle.GREMLIN_UNIQUE, 
                                LoaderFactory.createLoaderForVersion(ModelType.MOXY, Version.v8),
                                false);
        private final Version version = Version.v8;
index a676b9b..185814b 100644 (file)
@@ -59,8 +59,8 @@ public class RelationshipToURITest {
        
        @BeforeClass
        public static void setup() throws NoSuchFieldException, SecurityException, Exception {
-               System.setProperty("AJSC_HOME", "./src/test/resources/");
-               System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+               System.setProperty("AJSC_HOME", ".");
+               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
                QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/org/openecomp/aai/introspection/");
 
        }
index c2312b2..899119e 100644 (file)
@@ -53,8 +53,8 @@ public class URIParserTest {
         */
        @BeforeClass
        public static void configure() {
-               System.setProperty("AJSC_HOME", "./src/test/resources/");
-               System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+               System.setProperty("AJSC_HOME", ".");
+               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
        }
        
        /**
index 52c44c1..bc586b8 100644 (file)
@@ -48,8 +48,8 @@ public class URIToExtensionInformationTest {
         */
        @BeforeClass
        public static void configure() {
-               System.setProperty("AJSC_HOME", "./src/test/resources/");
-               System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+               System.setProperty("AJSC_HOME", ".");
+               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
        }
        
        /**
index 3750e47..7cdcfc5 100644 (file)
@@ -61,8 +61,8 @@ public class URIToObjectTest {
         */
        @BeforeClass
        public static void configure() {
-               System.setProperty("AJSC_HOME", "./src/test/resources/");
-               System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+               System.setProperty("AJSC_HOME", ".");
+               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
        }
        
        
index 1c945ee..ed27824 100644 (file)
@@ -33,6 +33,7 @@ import javax.ws.rs.core.UriBuilder;
 import javax.xml.bind.JAXBException;
 
 import org.junit.BeforeClass;
+import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
@@ -45,7 +46,7 @@ import org.openecomp.aai.introspection.LoaderFactory;
 import org.openecomp.aai.introspection.ModelType;
 import org.openecomp.aai.introspection.Version;
 
-
+@Ignore
 public class URIToRelationshipObjectTest {
 
        private Version latest = AAIProperties.LATEST;
@@ -59,8 +60,8 @@ public class URIToRelationshipObjectTest {
         */
        @BeforeClass
        public static void configure() {
-               System.setProperty("AJSC_HOME", "./src/test/resources/");
-               System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+               System.setProperty("AJSC_HOME", ".");
+               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
        }
        
        /**
index a9d2c00..eae1c97 100644 (file)
@@ -50,17 +50,17 @@ public class TraversalQueryTest {
        @BeforeClass
        public static void configure() throws NoSuchFieldException, SecurityException, Exception {
                
-               System.setProperty("AJSC_HOME", "./src/test/resources/");
-               System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+               System.setProperty("AJSC_HOME", ".");
+               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
                QueryFormatTestHelper.setFinalStatic(AAIConstants.class.getField("AAI_HOME_ETC_OXM"), "src/test/resources/org/openecomp/aai/introspection/");
                loader = LoaderFactory.createLoaderForVersion(ModelType.MOXY, AAIProperties.LATEST);
        }
        
        @Test
        public void unionQuery() {
-               TraversalQuery tQ = new TraversalQuery(loader, g);
-               TraversalQuery tQ2 = new TraversalQuery(loader, g);
-               TraversalQuery tQ3 = new TraversalQuery(loader, g);
+               TraversalQuery<Vertex> tQ = new TraversalQuery<>(loader, g);
+               TraversalQuery<Vertex> tQ2 = new TraversalQuery<>(loader, g);
+               TraversalQuery<Vertex> tQ3 = new TraversalQuery<>(loader, g);
                tQ.union(
                                tQ2.getVerticesByProperty("test1", "value1"),
                                tQ3.getVerticesByIndexedProperty("test2", "value2"));
@@ -74,9 +74,8 @@ public class TraversalQueryTest {
        
        @Test
        public void traversalClones() throws UnsupportedEncodingException, AAIException, URISyntaxException {
-               TraversalQuery tQ = new TraversalQuery(loader, g);
-               Introspector test = loader.introspectorFromName("test-object");
-               QueryBuilder builder = tQ.createQueryFromURI(new URI("network/test-objects/test-object/key1")).getQueryBuilder();
+               TraversalQuery<Vertex> tQ = new TraversalQuery<>(loader, g);
+               QueryBuilder<Vertex> builder = tQ.createQueryFromURI(new URI("network/test-objects/test-object/key1")).getQueryBuilder();
                GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start().has("vnf-id", "key1").has("aai-node-type", "test-object");
                GraphTraversal<Vertex, Vertex> containerExpected = __.<Vertex>start().has("aai-node-type", "test-object");
                
@@ -88,8 +87,8 @@ public class TraversalQueryTest {
        @Test
        public void nestedTraversalClones() throws UnsupportedEncodingException, AAIException, URISyntaxException {
                
-               TraversalQuery tQ = new TraversalQuery(loader, g);
-               QueryBuilder builder = tQ.createQueryFromURI(new URI("network/generic-vnfs/generic-vnf/key1/l-interfaces/l-interface/key2")).getQueryBuilder();
+               TraversalQuery<Vertex> tQ = new TraversalQuery<>(loader, g);
+               QueryBuilder<Vertex> builder = tQ.createQueryFromURI(new URI("network/generic-vnfs/generic-vnf/key1/l-interfaces/l-interface/key2")).getQueryBuilder();
                GraphTraversal<Vertex, Vertex> expected = __.<Vertex>start().has("vnf-id", "key1").has("aai-node-type", "generic-vnf").out("hasLInterface").has(AAIProperties.NODE_TYPE, "l-interface").has("interface-name", "key2");
                GraphTraversal<Vertex, Vertex> containerExpected = __.<Vertex>start().has("vnf-id", "key1").has("aai-node-type", "generic-vnf").out("hasLInterface").has(AAIProperties.NODE_TYPE, "l-interface");
                
index 10586fb..78e9110 100644 (file)
@@ -56,7 +56,7 @@ import com.thinkaurelius.titan.core.TitanTransaction;
 
 import java.util.Collections;
 
-@Ignore("Causing problems when only parallel tests are run")
+@Ignore
 public class DbAliasTest {
 
        
@@ -71,8 +71,8 @@ public class DbAliasTest {
        @Before
        public void setup() throws NoSuchFieldException, SecurityException, Exception {
                graph = TitanFactory.build().set("storage.backend","inmemory").open();
-               System.setProperty("AJSC_HOME", "./src/test/resources/");
-               System.setProperty("BUNDLECONFIG_DIR", "bundleconfig-local");
+               System.setProperty("AJSC_HOME", ".");
+               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
                loader = LoaderFactory.createLoaderForVersion(introspectorFactoryType, version);
                dbEngine = new TitanDBEngine(
                                queryStyle,
diff --git a/aai-core/src/test/java/org/openecomp/aai/workarounds/RemoveDME2QueryParamsTest.java b/aai-core/src/test/java/org/openecomp/aai/workarounds/RemoveDME2QueryParamsTest.java
new file mode 100644 (file)
index 0000000..61ba275
--- /dev/null
@@ -0,0 +1,91 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * org.openecomp.aai
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.aai.workarounds;
+
+import static org.junit.Assert.*;
+
+import javax.ws.rs.core.MultivaluedHashMap;
+import javax.ws.rs.core.MultivaluedMap;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class RemoveDME2QueryParamsTest {
+
+       private MultivaluedMap<String, String> hasParams;
+       private MultivaluedMap<String, String> doesNotHaveParams;
+       private RemoveDME2QueryParams removeParams = new RemoveDME2QueryParams();
+       
+       /**
+        * Setup.
+        */
+       @Before
+       public void setup() {
+               hasParams = new MultivaluedHashMap<>();
+               doesNotHaveParams = new MultivaluedHashMap<>();
+               
+               hasParams.add("version", "1");
+               hasParams.add("envContext", "DEV");
+               hasParams.add("routeOffer", "INT1");
+               hasParams.add("test1", "peppermints");
+               hasParams.add("test2", "amber");
+               
+               doesNotHaveParams.add("version", "1");
+               doesNotHaveParams.add("envContext", "DEV");
+               doesNotHaveParams.add("test1", "peppermints");
+               doesNotHaveParams.add("test2", "amber");
+               
+       }
+       
+       /**
+        * Test removal.
+        */
+       @Test
+       public void testRemoval() {
+               
+               if (removeParams.shouldRemoveQueryParams(hasParams)) {
+                       removeParams.removeQueryParams(hasParams);
+               }
+               
+               assertEquals("no version", false, hasParams.containsKey("version"));
+               assertEquals("no envContext", false, hasParams.containsKey("envContext"));
+               assertEquals("no routeOffer", false, hasParams.containsKey("routeOffer"));
+               assertEquals("has test1", true, hasParams.containsKey("test1"));
+               assertEquals("has test2", true, hasParams.containsKey("test2"));
+               
+       }
+       
+       /**
+        * Should not remove.
+        */
+       @Test
+       public void shouldNotRemove() {
+               
+               if (removeParams.shouldRemoveQueryParams(doesNotHaveParams)) {
+                       removeParams.removeQueryParams(doesNotHaveParams);
+               }
+               
+               assertEquals("no version", true, doesNotHaveParams.containsKey("version"));
+               assertEquals("no envContext", true, doesNotHaveParams.containsKey("envContext"));
+               assertEquals("has test1", true, doesNotHaveParams.containsKey("test1"));
+               assertEquals("has test2", true, doesNotHaveParams.containsKey("test2"));
+       }
+}
index 4e98d62..11416ca 100644 (file)
@@ -110,6 +110,7 @@ AAI_6142=5:4:INFO:6142:400:3000:Retrying transaction
 AAI_6143=5:4:INFO:6143:400:3000:Ghost vertex found
 AAI_6144=5:4:WARN:6144:400:3000:Cycle found in graph
 AAI_6145=5:4:ERROR:6145:400:3000:Cannot create a nested/containment edge via relationship
+AAI_6146=5:4:ERROR:6146:400:3000:Ambiguous identity map found, use a URI instead
 
 #--- aaicsvp: 7101-7199
 AAI_7101=5:4:ERROR:7101:500:3002:Unexpected error in CSV file processing
index 9c3c5e8..af05d3d 100644 (file)
                                </xml-element>
                                <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc,Ƃ aes-192-cbc, aes-265-cbc" />
+                                               <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc,? aes-192-cbc, aes-265-cbc" />
                                                <xml-property name="sourceOfTruthType" value="aai" />
                                        </xml-properties>
                                </xml-element>
                                </xml-element>
                                <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc,Ƃ aes-192-cbc, aes-265-cbc" />
+                                               <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc,? aes-192-cbc, aes-265-cbc" />
                                                <xml-property name="sourceOfTruthType" value="aai" />
                                        </xml-properties>
                                </xml-element>
                                </xml-element>
                                <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Design of zone [Medium/Largeā€¦]" />
+                                               <xml-property name="description" value="Design of zone [Medium/Large?]" />
                                                <xml-property name="sourceOfTruthType" value="aai" />
                                        </xml-properties>
                                </xml-element>
index ea77e8e..dab8244 100644 (file)
                                </xml-element>
                                <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc,ƂĀ aes-192-cbc, aes-265-cbc" />
+                                               <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc,?aes-192-cbc, aes-265-cbc" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
                                </xml-element>
                                <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc,ƂĀ aes-192-cbc, aes-265-cbc" />
+                                               <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc,?aes-192-cbc, aes-265-cbc" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
                                </xml-element>
                                <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Design of zone [Medium/Largeā€¦]" />
+                                               <xml-property name="description" value="Design of zone [Medium/Large?]" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="zoneContext" name="zone-context" required="true" type="java.lang.String">
diff --git a/aai-core/src/test/resources/bundleconfig-local/etc/scriptdata/dependencies/vRouterServiceInstanceFile.txt b/aai-core/src/test/resources/bundleconfig-local/etc/scriptdata/dependencies/vRouterServiceInstanceFile.txt
new file mode 100644 (file)
index 0000000..a5be791
--- /dev/null
@@ -0,0 +1,6 @@
+vnf-id,service-instance-id,global-customer-id
+vnf-id1,sample-service-instance-id,customer-id1
+vnf-id2,sample-service-instance-id-1,customer-id1
+vnf-id3,sample-service-instance-id-2,customer-id2
+vnf-id5,sample-service-instance-id-3,customer-id3
+vnf-id6,sample-service-instance-id-4,customer-id4
diff --git a/aai-core/src/test/resources/log4j.properties b/aai-core/src/test/resources/log4j.properties
new file mode 100644 (file)
index 0000000..2e68f61
--- /dev/null
@@ -0,0 +1,3 @@
+log4j.logger.org.apache.zookeeper=WARN
+log4j.logger.org.apache.hadoop.hbase.zookeeper=WARN
+log4j.logger.org.apache.hadoop.hbase.client=WARN
\ No newline at end of file
diff --git a/aai-core/src/test/resources/logback.xml b/aai-core/src/test/resources/logback.xml
new file mode 100644 (file)
index 0000000..d9627b2
--- /dev/null
@@ -0,0 +1,292 @@
+<!--
+  ============LICENSE_START=======================================================
+  org.openecomp.aai
+  ================================================================================
+  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+  ================================================================================
+  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.
+  ============LICENSE_END=========================================================
+  -->
+
+<configuration scan="true" scanPeriod="60 seconds" debug="false">
+       <contextName>${module.ajsc.namespace.name}</contextName>
+       <jmxConfigurator />
+       <property name="logDirectory" value="${AJSC_HOME}/logs" />
+       
+       <!-- Example evaluator filter applied against console appender -->
+       <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <!-- <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> -->
+                       <level>ERROR</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <encoder>
+                       <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+                       </pattern>
+               </encoder>
+       </appender>
+
+       <appender name="METRIC"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.LevelFilter">
+                       <level>INFO</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <file>${logDirectory}/rest/metric.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/rest/metric.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <!--  <triggeringPolicy
+                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>5MB</maxFileSize>
+               </triggeringPolicy> -->
+               <encoder>
+                       <pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%m%n</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="DEBUG"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                       <level>DEBUG</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <file>${logDirectory}/rest/debug.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/rest/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <!--  <triggeringPolicy
+                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>5MB</maxFileSize> 
+               </triggeringPolicy>-->
+               <encoder>
+                       <pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%m%n</pattern>
+               </encoder>
+       </appender>
+
+       <appender name="ERROR"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+                       <level>WARN</level>
+                       <onMatch>ACCEPT</onMatch>
+                       <onMismatch>DENY</onMismatch>
+               </filter>
+               <file>${logDirectory}/rest/error.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/rest/error.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <!-- <triggeringPolicy
+                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>5MB</maxFileSize>
+               </triggeringPolicy>-->
+               <encoder>
+                       <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n"</pattern> -->
+                       <pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%m%n</pattern>
+               </encoder>
+       </appender>
+       
+               <appender name="AUDIT"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.core.filter.EvaluatorFilter">
+             <evaluator>        
+               <matcher>
+                 <Name>audit</Name>
+                 <!-- filter out odd numbered statements -->
+                 <regex>co\=aairest</regex>
+               </matcher>        
+               <expression>level == INFO &amp;&amp; audit.matches(formattedMessage)</expression>
+             </evaluator>
+             <OnMatch>ACCEPT</OnMatch>
+             <OnMismatch>DENY</OnMismatch>
+           </filter>
+               <file>${logDirectory}/rest/audit.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/rest/metric.log.%d{yyyy-MM-dd}</fileNamePattern>
+               </rollingPolicy>
+               <encoder>
+                       <pattern>%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%m%n</pattern>
+               </encoder>
+       </appender>
+       
+       <appender name="auditLogs"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+               </filter>
+               <file>${logDirectory}/rest/audit.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/rest/audit-${Pid}.%d{yyyy-MM-dd}.log.zip
+                       </fileNamePattern>
+               </rollingPolicy>
+               <triggeringPolicy
+                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>5MB</maxFileSize>
+               </triggeringPolicy>
+               <encoder>
+                       <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+               </encoder>
+       </appender>
+       
+       <appender name="perfLogs"
+               class="ch.qos.logback.core.rolling.RollingFileAppender">
+               <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+               </filter>
+               <file>${logDirectory}/rest/perform.log</file>
+               <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                       <fileNamePattern>${logDirectory}/rest/perform-${Pid}.%d{yyyy-MM-dd}.log.zip
+                       </fileNamePattern>
+               </rollingPolicy>
+               <!--  <triggeringPolicy
+                       class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+                       <maxFileSize>5MB</maxFileSize>
+               </triggeringPolicy> -->
+               <encoder>
+                       <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+               </encoder>
+       </appender>
+
+       <!-- Spring related loggers -->
+       <logger name="org.springframework" level="WARN" />
+       <logger name="org.springframework.beans" level="WARN" />
+       <logger name="org.springframework.web" level="WARN" />
+       <logger name="com.blog.spring.jms" level="WARN" />
+
+       <!-- AJSC Services (bootstrap services) -->
+       <logger name="ajsc" level="WARN" />
+       <logger name="ajsc.RouteMgmtService" level="WARN" />
+       <logger name="ajsc.ComputeService" level="WARN" />
+       <logger name="ajsc.VandelayService" level="WARN" />
+       <logger name="ajsc.FilePersistenceService" level="WARN" />
+       <logger name="ajsc.UserDefinedJarService" level="WARN" />
+       <logger name="ajsc.UserDefinedBeansDefService" level="WARN" />
+       <logger name="ajsc.LoggingConfigurationService" level="WARN" />
+       
+       <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet 
+               logging) -->
+       <logger name="ajsc.utils" level="WARN" />
+       <logger name="ajsc.utils.DME2Helper" level="WARN" />
+       <logger name="ajsc.filters" level="WARN" />
+       <logger name="ajsc.beans.interceptors" level="WARN" />
+       <logger name="ajsc.restlet" level="WARN" />
+       <logger name="ajsc.servlet" level="WARN" />
+       <logger name="com.att.ajsc" level="WARN" />
+       <logger name="com.att.ajsc.csi.logging" level="WARN" />
+       <logger name="com.att.ajsc.filemonitor" level="WARN" />
+
+       <!-- Other Loggers that may help troubleshoot -->
+       <logger name="net.sf" level="WARN" />
+       <logger name="org.apache.commons.httpclient" level="WARN" />
+       <logger name="org.apache.commons" level="WARN" />
+       <logger name="org.apache.coyote" level="WARN" />
+       <logger name="org.apache.jasper" level="WARN" />
+
+       <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. 
+               May aid in troubleshooting) -->
+       <logger name="org.apache.camel" level="WARN" />
+       <logger name="org.apache.cxf" level="WARN" />
+       <logger name="org.apache.camel.processor.interceptor" level="WARN" />
+       <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" />
+       <logger name="org.apache.cxf.service" level="WARN" />
+       <logger name="org.restlet" level="WARN" />
+       <logger name="org.apache.camel.component.restlet" level="WARN" />
+
+       <!-- logback internals logging -->
+       <logger name="ch.qos.logback.classic" level="INFO" />
+       <logger name="ch.qos.logback.core" level="INFO" />
+
+       <!-- logback jms appenders & loggers definition starts here -->
+
+       <if condition='property("JMS_BROKER").contains("WMQ")'>
+               <then>
+                       <appender name="Audit-Record-Queue" class="ajsc.JMSQueueAppender">
+                               <param name="InitialContextFactoryName" value="${JMS_WMQ_INITIAL_CONNECTION_FACTORY_NAME}" />
+                               <param name="ProviderURL" value="${JMS_WMQ_PROVIDER_URL}" />
+                               <param name="DestinationName" value="${JMS_WMQ_AUDIT_DESTINATION_NAME}" />
+                               <param name="ConnectionFactoryName" value="${JMS_WMQ_CONNECTION_FACTORY_NAME}" />
+                       </appender>
+                       <appender name="Performance-Tracker-Queue" class="ajsc.JMSQueueAppender">
+                               <param name="InitialContextFactoryName" value="${JMS_WMQ_INITIAL_CONNECTION_FACTORY_NAME}" />
+                               <param name="ProviderURL" value="${JMS_WMQ_PROVIDER_URL}" />
+                               <param name="DestinationName" value="${JMS_WMQ_PERF_DESTINATION_NAME}" />
+                               <param name="ConnectionFactoryName" value="${JMS_WMQ_CONNECTION_FACTORY_NAME}" />
+                       </appender>
+               </then>
+               <else> <!-- logback jms appenders definition starts here -->
+                       <appender name="Audit-Record-Queue" class="ajsc.JMSQueueAppender">
+                               <param name="InitialContextFactoryName"
+                                       value="com.tibco.tibjms.naming.TibjmsInitialContextFactory" />
+                               <param name="ProviderURL" value="${JMS_TIBCO_PROVIDER_URL}" />
+                               <param name="userName" value="${JMS_LOGGER_USER_NAME}" />
+                               <param name="password" value="${JMS_LOGGER_PASSWORD}" />
+                               <QueueBindingName>${JMS_LOGGER_AUDIT_QUEUE_BINDING}
+                               </QueueBindingName>
+                       </appender>
+                       <appender name="Performance-Tracker-Queue" class="ajsc.JMSQueueAppender">
+                               <param name="InitialContextFactoryName"
+                                       value="com.tibco.tibjms.naming.TibjmsInitialContextFactory" />
+                               <param name="ProviderURL" value="${JMS_TIBCO_PROVIDER_URL}" />
+                               <param name="userName" value="${JMS_LOGGER_USER_NAME}" />
+                               <param name="password" value="${JMS_LOGGER_PASSWORD}" />
+                               <QueueBindingName>${JMS_LOGGER_PERF_QUEUE_BINDING}
+                               </QueueBindingName>
+                       </appender>
+               </else>
+       </if>
+       
+       <appender name="ASYNC-audit" class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>1000</queueSize>
+               <discardingThreshold>0</discardingThreshold>
+               <appender-ref ref="Audit-Record-Queue" />
+       </appender>
+       
+       <appender name="ASYNC-perf" class="ch.qos.logback.classic.AsyncAppender">
+               <queueSize>1000</queueSize>
+               <discardingThreshold>0</discardingThreshold>
+               <appender-ref ref="Performance-Tracker-Queue" />
+       </appender>
+
+       <!--  
+       <logger name="AuditRecord" level="INFO" additivity="FALSE">
+               <appender-ref ref="ASYNC-audit" />
+               <appender-ref ref="auditLogs" />
+       </logger>
+       <logger name="AuditRecord_DirectCall" level="INFO" additivity="FALSE">
+               <appender-ref ref="ASYNC-audit" />
+               <appender-ref ref="auditLogs" />
+       </logger>
+       <logger name="PerfTrackerRecord" level="INFO" additivity="FALSE">
+               <appender-ref ref="ASYNC-perf" />
+               <appender-ref ref="perfLogs" />
+       </logger>       
+       -->
+               
+       <logger name="org.openecomp.aai" level="INFO" />
+       
+       <!--
+       <logger name="org.openecomp.aai.util" level="WARN" />
+       <logger name="org.openecomp.aai.rest" level="WARN" />
+       <logger name="org.openecomp.aai.rest.Business" level="WARN" />
+        -->
+       
+       <logger name="org.apache" level="WARN" />
+       <logger name="org.zookeeper" level="WARN" />
+       <logger name="com.thinkaurelius" level="WARN" />
+
+       <root level="WARN">
+               <appender-ref ref="DEBUG" />
+               <appender-ref ref="ERROR" />
+               <appender-ref ref="METRIC" />
+               <appender-ref ref="AUDIT" />
+       </root>
+
+</configuration>
index c6b9d3e..6ff0f58 100644 (file)
                        <attribute name="maven.pomderived" value="true"/>
                </attributes>
        </classpathentry>
-       <classpathentry kind="src" output="target/test-classes" path="src/test/java">
-               <attributes>
-                       <attribute name="optional" value="true"/>
-                       <attribute name="maven.pomderived" value="true"/>
-               </attributes>
-       </classpathentry>
        <classpathentry kind="src" path="target/generated-sources"/>
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
                <attributes>
index 59797cf..4e177b2 100644 (file)
@@ -47,6 +47,10 @@ public enum PropertyMetadata {
         * controls the visibility of a field based on context
         */
        VISIBILITY("visibility"),
+       /**
+        * specifies a field which must be populated to pass validation
+        */
+       REQUIRES("requires"),
        /**
         * automatically creates an id for the property if not specified
         */
index bf05ced..690352b 100644 (file)
@@ -2288,14 +2288,14 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",dbAlias="model-invariant-id-local")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id",dbAlias="model-invariant-id-local")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="model-version-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",dbAlias="model-version-id-local")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -2435,14 +2435,14 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",dbAlias="model-invariant-id-local")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id",dbAlias="model-invariant-id-local")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="model-version-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",dbAlias="model-version-id-local")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -2530,14 +2530,14 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",dbAlias="model-invariant-id-local")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id",dbAlias="model-invariant-id-local")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="model-version-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",dbAlias="model-version-id-local")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -3403,14 +3403,14 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",dbAlias="model-invariant-id-local")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id",dbAlias="model-invariant-id-local")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="model-version-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",dbAlias="model-version-id-local")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -4883,14 +4883,14 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",dbAlias="model-invariant-id-local")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id",dbAlias="model-invariant-id-local")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="model-version-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",dbAlias="model-version-id-local")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -5084,14 +5084,14 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",dbAlias="model-invariant-id-local")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id",dbAlias="model-invariant-id-local")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="model-version-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",dbAlias="model-version-id-local")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -5402,14 +5402,14 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",dbAlias="model-invariant-id-local")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",visibility="deployment",requires="model-version-id",dbAlias="model-invariant-id-local")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="model-version-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",dbAlias="model-version-id-local")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -6046,7 +6046,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="ikev1-encryption" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Encyption values like 3des-cbc, des-cbc, aes-128-cbc,Ā aes-192-cbc, aes-265-cbc")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Encyption values like 3des-cbc, des-cbc, aes-128-cbc,?aes-192-cbc, aes-265-cbc")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -6088,7 +6088,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="ipsec-encryption" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="3des-cbc, des-cbc, aes-128-cbc,Ā aes-192-cbc, aes-265-cbc")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="3des-cbc, des-cbc, aes-128-cbc,?aes-192-cbc, aes-265-cbc")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -6109,7 +6109,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="xauth-userid" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="user ID for xAuth, sm-user,nmteHostName")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="user ID for xAuth, sm-user, ,nmteHostName")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -6282,7 +6282,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="design-type" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Design of zone [Medium/Large]")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Design of zone [Medium/Large?]")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -6583,9 +6583,24 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
       </xs:sequence>
     </xs:complexType>
   </xs:element>
+  <xs:element name="extra-property">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="property-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-value" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
   <xs:element name="extra-properties">
     <xs:complexType>
-      <xs:sequence/>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Extra properties for inventory item for response list")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:extra-property" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
     </xs:complexType>
   </xs:element>
   <xs:element name="inventory-response-item">
@@ -6626,13 +6641,6 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="extra-property">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="property-name" type="xs:string" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
   <xs:element name="vnf">
     <xs:complexType>
       <xs:annotation>
index ecbbd5b..27d18ab 100644 (file)
@@ -5,49 +5,39 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
     xmlns:annox="http://annox.dev.java.net" 
     jaxb:extensionBindingPrefixes="annox">
 
-  <xs:element name="result-data">
+  <xs:element name="inventory-item-data">
     <xs:complexType>
       <xs:sequence>
-        <xs:element name="resource-type" type="xs:string" minOccurs="0">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The specific type of node in the AAI graph")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="resource-link" type="xs:string" minOccurs="0">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The URL to the specific resource")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
+        <xs:element name="property-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-value" type="xs:string" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="search-results">
+  <xs:element name="inventory-item">
     <xs:complexType>
       <xs:sequence>
-        <xs:element ref="tns:result-data" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element name="inventory-item-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="inventory-item-link" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:inventory-item-data" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="search">
+  <xs:element name="tagged-inventory-item-list">
     <xs:complexType>
       <xs:sequence>
-        <xs:element ref="tns:search-results" minOccurs="0"/>
+        <xs:element ref="tns:inventory-item" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="update-node-key">
+  <xs:element name="edge-tag-query-result">
     <xs:complexType>
       <xs:sequence>
-        <xs:element name="key-name" type="xs:string" minOccurs="0"/>
-        <xs:element name="key-value" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="action-data">
+  <xs:element name="start-node-filter">
     <xs:complexType>
       <xs:sequence>
         <xs:element name="property-name" type="xs:string" minOccurs="0"/>
@@ -55,58 +45,58 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="action">
+  <xs:element name="include-node-filter">
     <xs:complexType>
       <xs:sequence>
-        <xs:element name="action-type" type="xs:string" minOccurs="0"/>
-        <xs:element ref="tns:action-data" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element name="include-node-type" type="xs:string" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="update">
+  <xs:element name="secondary-filter">
     <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Serves a PATCH like function.  Does not enforce concurrency control.")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
       <xs:sequence>
-        <xs:element name="update-node-type" type="xs:string"/>
-        <xs:element ref="tns:update-node-key" minOccurs="0" maxOccurs="unbounded"/>
-        <xs:element name="update-node-uri" type="xs:string" minOccurs="0"/>
-        <xs:element ref="tns:action" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element name="property-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="filter-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-value" type="xs:string" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="key-data">
+  <xs:element name="edge-tag-query-request">
     <xs:complexType>
       <xs:sequence>
-        <xs:element name="key-name" type="xs:string" minOccurs="0"/>
-        <xs:element name="key-value" type="xs:string" minOccurs="0"/>
+        <xs:element name="edge-tag" type="xs:string" minOccurs="0"/>
+        <xs:element name="result-detail" type="xs:string" minOccurs="0"/>
+        <xs:element name="start-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:start-node-filter" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:include-node-filter" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:secondary-filter" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="notify">
+  <xs:element name="result-data">
     <xs:complexType>
       <xs:sequence>
-        <xs:element name="event-id" type="xs:string"/>
-        <xs:element name="node-type" type="xs:string" minOccurs="0"/>
-        <xs:element name="event-trigger" type="xs:string" minOccurs="0"/>
-        <xs:element ref="tns:key-data" minOccurs="0" maxOccurs="unbounded"/>
-        <xs:element name="selflink" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The specific type of node in the A&amp;AI graph")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-link" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The URL to the specific resource")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="actions">
+  <xs:element name="search-results">
     <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="APIs that are more action related than REST (e.g., notify, update).")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:update" minOccurs="0"/>
-        <xs:element ref="tns:notify" minOccurs="0"/>
+        <xs:element ref="tns:result-data" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
@@ -116,7 +106,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="relationship-key" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="A keyword provided by AAI to indicate an attribute.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="A keyword provided by A&amp;AI to indicate an attribute.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -156,14 +146,14 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="related-to" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="A keyword provided by AAI to indicate type of node.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="A keyword provided by A&amp;AI to indicate type of node.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="related-link" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to the object in AAI.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to the object in A&amp;AI.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -179,46 +169,46 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="volume-group">
+  <xs:element name="oam-network">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Persistent block-level storage.",indexedProps="volume-group-name,vnf-type,heat-stack-id,volume-group-id",dependentOn="cloud-region",container="volume-groups")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="OAM network, to be deprecated shortly.  Do not use for new purposes. ",nameProps="network-name",indexedProps="cvlan-tag,network-uuid,network-name",dependentOn="cloud-region",container="oam-networks")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="volume-group-id" type="xs:string">
+        <xs:element name="network-uuid" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of volume-group.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="UUID of the network. Unique across a cloud-region")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="volume-group-name" type="xs:string">
+        <xs:element name="network-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of the volume group.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of the network.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0">
+        <xs:element name="cvlan-tag" type="xs:unsignedInt">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this volume-group")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="cvlan-id")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vnf-type" type="xs:string">
+        <xs:element name="ipv4-oam-gateway-address" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the SDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as SDC matures.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for VNF firewall rule so customer cannot send customer traffic over this oam network")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="orchestration-status" type="xs:string" minOccurs="0">
+        <xs:element name="ipv4-oam-gateway-address-prefix-length" type="xs:int" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this volume-group")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for VNF firewall rule so customer cannot send customer traffic over this oam network")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -233,37 +223,37 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="volume-groups">
+  <xs:element name="oam-networks">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of persistent block-level storage.")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of OAM networks, to be deprecated shortly.  Do not use for new purposes. ")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:volume-group" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:oam-network" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="volume">
+  <xs:element name="dvs-switch">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Ephemeral Block storage volume.",indexedProps="volume-id",dependentOn="vserver",container="volumes")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Digital virtual switch metadata, used by SDN-C to configure VCEs.  A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. ",indexedProps="vcenter-url,switch-name",dependentOn="cloud-region",container="dvs-switches")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="volume-id" type="xs:string">
+        <xs:element name="switch-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of block storage volume relative to the vserver.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="DVS switch name")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="volume-selflink" type="xs:string">
+        <xs:element name="vcenter-url" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL used to reach the vcenter")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -278,79 +268,195 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="volumes">
+  <xs:element name="dvs-switches">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of ephemeral Block storage volumes.")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of digital virtual switch metadata used for vmWare VCEs and VPEs.")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:volume" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:dvs-switch" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="l3-interface-ipv4-address-list">
+  <xs:element name="availability-zone">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="IPv4 Address Range",indexedProps="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="vlan,l-interface")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Availability zone, a collection of compute hosts/pservers",indexedProps="availability-zone-name",dependentOn="cloud-region",container="availability-zones")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="l3-interface-ipv4-address" type="xs:string">
+        <xs:element name="availability-zone-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Name of the availability zone.  Unique across a cloud region")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="l3-interface-ipv4-prefix-length" type="xs:unsignedInt" minOccurs="0">
+        <xs:element name="hypervisor-type" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Prefix length, 32 for single address")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Type of hypervisor.  Source of truth should define valid values.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+        <xs:element name="operational-state" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Inner VLAN tag")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values.",dbAlias="operational-status")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vlan-id-outer" type="xs:unsignedInt" minOccurs="0">
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Outer VLAN tag")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="is-floating" type="xs:boolean" minOccurs="0">
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="az-and-dvs-switches">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:dvs-switches" minOccurs="0"/>
+        <xs:element ref="tns:availability-zone" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sdn-zone-response">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:oam-networks" minOccurs="0"/>
+        <xs:element ref="tns:az-and-dvs-switches" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="search">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:edge-tag-query-result" minOccurs="0"/>
+        <xs:element ref="tns:edge-tag-query-request" minOccurs="0"/>
+        <xs:element ref="tns:search-results" minOccurs="0"/>
+        <xs:element ref="tns:sdn-zone-response" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="update-node-key">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="key-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="key-value" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="action-data">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="property-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-value" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="action">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="action-type" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:action-data" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="update">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="update-node-type" type="xs:string"/>
+        <xs:element ref="tns:update-node-key" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element name="update-node-uri" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:action" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="key-data">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="key-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="key-value" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="notify">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="event-id" type="xs:string"/>
+        <xs:element name="node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="event-trigger" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:key-data" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element name="selflink" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="actions">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="APIs that are more action related than REST (e.g., notify, update).")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:update" minOccurs="0"/>
+        <xs:element ref="tns:notify" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ctag-pool">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="A collection of C tags (vlan tags) grouped for a specific purpose.",indexedProps="availability-zone-name",dependentOn="complex",container="ctag-pools")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="target-pe" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicator of fixed or floating address")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="The Target provider edge router")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+        <xs:element name="availability-zone-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Name of the availability zone")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="neutron-network-id" type="xs:string" minOccurs="0">
+        <xs:element name="ctag-pool-purpose" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Neutron network id of the interface that address belongs to")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Describes what the intended purpose of this pool is.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="neutron-subnet-id" type="xs:string" minOccurs="0">
+        <xs:element name="ctag-values" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Comma separated list of ctags")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -358,46 +464,46 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="l3-interface-ipv6-address-list">
+  <xs:element name="ctag-pools">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ctag-pool" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="complex">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="IPv6 Address Range",indexedProps="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="vlan,l-interface")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of physical locations that can house cloud-regions.",indexedProps="identity-url,data-center-code,complex-name,physical-location-id",searchable="physical-location-id,data-center-code,complex-name,street1,street2,postal-code",uniqueProps="physical-location-id",container="complexes",namespace="cloud-infrastructure")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="l3-interface-ipv6-address" type="xs:string">
+        <xs:element name="physical-location-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique identifier for physical location, e.g., CLLI")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="l3-interface-ipv6-prefix-length" type="xs:unsignedInt" minOccurs="0">
+        <xs:element name="data-center-code" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Prefix length, 128 for single address")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Data center code which can be an alternate way to identify a complex")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+        <xs:element name="complex-name" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Inner VLAN tag")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Gamma complex name for LCP instance.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vlan-id-outer" type="xs:unsignedInt" minOccurs="0">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Outer VLAN tag")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="is-floating" type="xs:boolean" minOccurs="0">
+        <xs:element name="identity-url" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicator of fixed or floating address")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL of the keystone identity service")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -408,401 +514,461 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="neutron-network-id" type="xs:string" minOccurs="0">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Neutron network id of the interface that address belongs to")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="neutron-subnet-id" type="xs:string" minOccurs="0">
+        <xs:element name="physical-location-type" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Type, e.g., central office, data center.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
+        <xs:element name="street1" type="xs:string"/>
+        <xs:element name="street2" type="xs:string" minOccurs="0"/>
+        <xs:element name="city" type="xs:string"/>
+        <xs:element name="state" type="xs:string" minOccurs="0"/>
+        <xs:element name="postal-code" type="xs:string"/>
+        <xs:element name="country" type="xs:string"/>
+        <xs:element name="region" type="xs:string"/>
+        <xs:element name="latitude" type="xs:string" minOccurs="0"/>
+        <xs:element name="longitude" type="xs:string" minOccurs="0"/>
+        <xs:element name="elevation" type="xs:string" minOccurs="0"/>
+        <xs:element name="lata" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:ctag-pools" minOccurs="0"/>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="vlan">
+  <xs:element name="complexes">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Definition of vlan",indexedProps="vlan-interface,vlan-id-inner,vpn-id",uniqueProps="vpn-id",dependentOn="l-interface",container="vlans")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of physical locations that can house cloud-regions.")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="vlan-interface" type="xs:string">
+        <xs:element ref="tns:complex" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Persistent block-level storage.",indexedProps="volume-group-name,vnf-type,heat-stack-id,volume-group-id",dependentOn="cloud-region",container="volume-groups")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="volume-group-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="String that identifies the interface")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of volume-group.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+        <xs:element name="volume-group-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Inner VLAN tag")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of the volume group.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vlan-id-outer" type="xs:unsignedInt" minOccurs="0">
+        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Outer VLAN tag")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this volume-group")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+        <xs:element name="vnf-type" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="speed-value" type="xs:string" minOccurs="0">
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this volume-group")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="speed-units" type="xs:string" minOccurs="0">
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vlan-description" type="xs:string" minOccurs="0">
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume-groups">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of persistent block-level storage.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:volume-group" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Ephemeral Block storage volume.",indexedProps="volume-id",dependentOn="vserver",container="volumes")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="volume-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used to describe (the service associated with) the vlan")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of block storage volume relative to the vserver.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="backdoor-connection" type="xs:string" minOccurs="0">
+        <xs:element name="volume-selflink" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Whether customer is going to use this VLAN for backdoor connection to another customer premise device.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vpn-id" type="xs:string" minOccurs="0">
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This indicates the customers VPN ID associated with this vlan")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
-        <xs:element ref="tns:l3-interface-ipv4-address-list" minOccurs="0" maxOccurs="unbounded"/>
-        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="vlans">
+  <xs:element name="volumes">
     <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of ephemeral Block storage volumes.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:vlan" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:volume" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="l-interface">
+  <xs:element name="l3-interface-ipv4-address-list">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Logical interfaces, e.g., a vnic.",indexedProps="macaddr,interface-id,interface-name,network-name",dependentOn="generic-vnf,p-interface,vserver,lag-interface",container="l-interfaces")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="IPv4 Address Range",indexedProps="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="vlan,l-interface")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="interface-name" type="xs:string">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Name given to the interface")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="interface-role" type="xs:string" minOccurs="0">
+        <xs:element name="l3-interface-ipv4-address" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="E.g., CUSTOMER, UPLINK, etc.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="v6-wan-link-ip" type="xs:string" minOccurs="0">
+        <xs:element name="l3-interface-ipv4-prefix-length" type="xs:unsignedInt" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Prefix length, 32 for single address")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="selflink" type="xs:string" minOccurs="0">
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Inner VLAN tag")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="interface-id" type="xs:string" minOccurs="0">
+        <xs:element name="vlan-id-outer" type="xs:unsignedInt" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="ID of interface")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Outer VLAN tag")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="macaddr" type="xs:string" minOccurs="0">
+        <xs:element name="is-floating" type="xs:boolean" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="MAC address for the interface")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicator of fixed or floating address")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="network-name" type="xs:string" minOccurs="0">
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of the network")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="management-option" type="xs:string" minOccurs="0">
+        <xs:element name="neutron-network-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Whether AAI should be managing this interface of not. Could have value like CUSTOMER")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Neutron network id of the interface that address belongs to")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+        <xs:element name="neutron-subnet-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element ref="tns:vlans" minOccurs="0"/>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
-        <xs:element ref="tns:l3-interface-ipv4-address-list" minOccurs="0" maxOccurs="unbounded"/>
-        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="l-interfaces">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of logical interfaces.")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element ref="tns:l-interface" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="vserver">
+  <xs:element name="l3-interface-ipv6-address-list">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Virtual Servers, aka virtual machine or VM.",nameProps="vserver-name",indexedProps="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2",searchable="vserver-name,vserver-id,vserver-name2",dependentOn="tenant",container="vservers")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="IPv6 Address Range",indexedProps="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="vlan,l-interface")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="vserver-id" type="xs:string">
+        <xs:element name="l3-interface-ipv6-address" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique identifier for this vserver relative to its tenant")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vserver-name" type="xs:string">
+        <xs:element name="l3-interface-ipv6-prefix-length" type="xs:unsignedInt" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of vserver")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Prefix length, 128 for single address")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vserver-name2" type="xs:string" minOccurs="0">
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Alternative name of vserver")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Inner VLAN tag")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="prov-status" type="xs:string" minOccurs="0">
+        <xs:element name="vlan-id-outer" type="xs:unsignedInt" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Outer VLAN tag")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vserver-selflink" type="xs:string">
+        <xs:element name="is-floating" type="xs:boolean" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicator of fixed or floating address")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="in-maint" type="xs:boolean">
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="is-closed-loop-disabled" type="xs:boolean">
+        <xs:element name="neutron-network-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Used to indicate whether closed loop function is enabled on this node")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Neutron network id of the interface that address belongs to")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+        <xs:element name="neutron-subnet-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element ref="tns:volumes" minOccurs="0"/>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
-        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="vservers">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of virtual Servers, aka virtual machines or VMs.")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element ref="tns:vserver" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="tenant">
+  <xs:element name="vlan">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Openstack tenant",nameProps="tenant-name",indexedProps="tenant-name,tenant-id",dependentOn="cloud-region",container="tenants")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Definition of vlan",indexedProps="vlan-interface,vlan-id-inner,vpn-id",uniqueProps="vpn-id",dependentOn="l-interface",container="vlans")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="tenant-id" type="xs:string">
+        <xs:element name="vlan-interface" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id relative to the cloud-region.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="String that identifies the interface")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="tenant-name" type="xs:string">
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Readable name of tenant")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Inner VLAN tag")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+        <xs:element name="vlan-id-outer" type="xs:unsignedInt" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Outer VLAN tag")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element ref="tns:vservers" minOccurs="0"/>
-        <xs:element ref="tns:relationship-list" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="tenants">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of openstack tenants.")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element ref="tns:tenant" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="flavor">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Openstack flavor.",nameProps="flavor-name",indexedProps="flavor-name,flavor-id",dependentOn="cloud-region",container="flavors")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element name="flavor-id" type="xs:string">
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Flavor id, expected to be unique across cloud-region.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="flavor-name" type="xs:string">
+        <xs:element name="speed-value" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Flavor name")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="flavor-vcpus" type="xs:int" minOccurs="0">
+        <xs:element name="speed-units" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Number of CPUs")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="flavor-ram" type="xs:int" minOccurs="0">
+        <xs:element name="vlan-description" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Amount of memory")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used to describe (the service associated with) the vlan")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="flavor-disk" type="xs:int" minOccurs="0">
+        <xs:element name="backdoor-connection" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Disk space")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Whether customer is going to use this VLAN for backdoor connection to another customer premise device.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="flavor-ephemeral" type="xs:int" minOccurs="0">
+        <xs:element name="vpn-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Amount of ephemeral disk space")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This indicates the customers VPN ID associated with this vlan",dbAlias="vpn-id-local")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="flavor-swap" type="xs:string" minOccurs="0">
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l3-interface-ipv4-address-list" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vlans">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vlan" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sriov-vf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="SR-IOV Virtual Function (not to be confused with virtual network function)",indexedProps="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id",dependentOn="l-interface",container="sriov-vfs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pci-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="amount of swap space allocation")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="PCI ID used to identify the sriov-vf")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="flavor-is-public" type="xs:boolean" minOccurs="0">
+        <xs:element name="vf-vlan-filter" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="whether flavor is available to all users or private to the tenant it was created in.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="flavor-selflink" type="xs:string">
+        <xs:element name="vf-mac-filter" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="flavor-disabled" type="xs:boolean" minOccurs="0">
+        <xs:element name="vf-vlan-strip" type="xs:boolean" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Boolean as to whether this flavor is no longer enabled")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-vlan-anti-spoof-check" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-mac-anti-spoof-check" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-mirrors" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-broadcast-allow" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-unknown-multicast-allow" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-unknown-unicast-allow" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-insert-stag" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This option, if set to true, instructs to insert outer tag after traffic comes out of VM.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-link-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This option is used to set the link status.  Valid values as of 1607 are on, off, and auto.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -813,55 +979,90 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
+        <xs:element name="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Neutron network id of the interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="flavors">
+  <xs:element name="sriov-vfs">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of openstack flavors.")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of SR-IOV Virtual Functions.")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:flavor" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:sriov-vf" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="group-assignment">
+  <xs:element name="l-interface">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Openstack group-assignment used to store exclusivity groups (EG).",nameProps="group-name",indexedProps="group-id,group-type,group-name",dependentOn="cloud-region",container="group-assignments")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Logical interfaces, e.g., a vnic.",indexedProps="macaddr,interface-id,interface-name,network-name",dependentOn="generic-vnf,newvce,vpe,p-interface,vserver,lag-interface",container="l-interfaces")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="group-id" type="xs:string">
+        <xs:element name="interface-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Group id, expected to be unique across cloud-region.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Name given to the interface")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="group-type" type="xs:string">
+        <xs:element name="interface-role" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Group type - the type of group this instance refers to")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="E.g., CUSTOMER, UPLINK, etc.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="group-name" type="xs:string">
+        <xs:element name="v6-wan-link-ip" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Group name - name assigned to the group")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="group-description" type="xs:string" minOccurs="0">
+        <xs:element name="selflink" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Group description - description of the group")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="interface-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="ID of interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="macaddr" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="MAC address for the interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of the network")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="management-option" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -872,97 +1073,80 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
+        <xs:element ref="tns:vlans" minOccurs="0"/>
+        <xs:element ref="tns:sriov-vfs" minOccurs="0"/>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l3-interface-ipv4-address-list" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="group-assignments">
+  <xs:element name="l-interfaces">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of openstack group assignments")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of logical interfaces.")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:group-assignment" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:l-interface" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="snapshot">
+  <xs:element name="vserver">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Openstack snapshot",nameProps="snapshot-name",uniqueProps="snapshot-id",indexedProps="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id",dependentOn="cloud-region",container="snapshots")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Virtual Servers, aka virtual machine or VM.",nameProps="vserver-name",indexedProps="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2",searchable="vserver-name,vserver-id,vserver-name2",dependentOn="tenant",container="vservers")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="snapshot-id" type="xs:string">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Snapshot id, this is the key UUID assoc associated in glance with the snapshots.")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="snapshot-name" type="xs:string" minOccurs="0">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Snapshot name")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="snapshot-architecture" type="xs:string" minOccurs="0">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Operating system architecture")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="snapshot-os-distro" type="xs:string" minOccurs="0">
+        <xs:element name="vserver-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The common name of the operating system distribution in lowercase")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique identifier for this vserver relative to its tenant")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="snapshot-os-version" type="xs:string" minOccurs="0">
+        <xs:element name="vserver-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of vserver")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="application" type="xs:string" minOccurs="0">
+        <xs:element name="vserver-name2" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The application that the image instantiates.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Alternative name of vserver")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="application-vendor" type="xs:string" minOccurs="0">
+        <xs:element name="prov-status" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The vendor of the application.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="application-version" type="xs:string" minOccurs="0">
+        <xs:element name="vserver-selflink" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The version of the application.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="snapshot-selflink" type="xs:string" minOccurs="0">
+        <xs:element name="in-maint" type="xs:boolean">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="prev-snapshot-id" type="xs:string" minOccurs="0">
+        <xs:element name="is-closed-loop-disabled" type="xs:boolean">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This field contains the UUID of the previous snapshot (if any).")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Used to indicate whether closed loop function is enabled on this node")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -973,38 +1157,46 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
+        <xs:element ref="tns:volumes" minOccurs="0"/>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="snapshots">
+  <xs:element name="vservers">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of openstack snapshots")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of virtual Servers, aka virtual machines or VMs.")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:snapshot" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:vserver" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="metadatum">
+  <xs:element name="tenant">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Key/value pairs",indexedProps="metaname",dependentOn="tenant,image,service-instance,model",container="metadata")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Openstack tenant",nameProps="tenant-name",indexedProps="tenant-name,tenant-id",dependentOn="cloud-region",container="tenants")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="metaname" type="xs:string">
+        <xs:element name="tenant-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true)</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id relative to the cloud-region.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tenant-name" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Readable name of tenant")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="metaval" type="xs:string"/>
         <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
@@ -1012,92 +1204,101 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
+        <xs:element ref="tns:vservers" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="metadata">
+  <xs:element name="tenants">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of metadatum (key/value pairs)")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of openstack tenants.")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:metadatum" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:tenant" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="image">
+  <xs:element name="flavor">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Openstack image.",nameProps="image-name",indexedProps="application,image-name,application-vendor,image-id,application-version",dependentOn="cloud-region",container="images")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Openstack flavor.",nameProps="flavor-name",indexedProps="flavor-name,flavor-id",dependentOn="cloud-region",container="flavors")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="image-id" type="xs:string">
+        <xs:element name="flavor-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Image id, expected to be unique across cloud region")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Flavor id, expected to be unique across cloud-region.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="image-name" type="xs:string">
+        <xs:element name="flavor-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Image name")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Flavor name")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="image-architecture" type="xs:string" minOccurs="0">
+        <xs:element name="flavor-vcpus" type="xs:int" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Operating system architecture.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Number of CPUs")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="image-os-distro" type="xs:string">
+        <xs:element name="flavor-ram" type="xs:int" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The common name of the operating system distribution in lowercase")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Amount of memory")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="image-os-version" type="xs:string">
+        <xs:element name="flavor-disk" type="xs:int" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Disk space")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="application" type="xs:string" minOccurs="0">
+        <xs:element name="flavor-ephemeral" type="xs:int" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The application that the image instantiates.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Amount of ephemeral disk space")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="application-vendor" type="xs:string" minOccurs="0">
+        <xs:element name="flavor-swap" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The vendor of the application.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="amount of swap space allocation")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="application-version" type="xs:string" minOccurs="0">
+        <xs:element name="flavor-is-public" type="xs:boolean" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The version of the application.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="whether flavor is available to all users or private to the tenant it was created in.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="image-selflink" type="xs:string">
+        <xs:element name="flavor-selflink" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
               <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
+        <xs:element name="flavor-disabled" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Boolean as to whether this flavor is no longer enabled")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
         <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
@@ -1106,48 +1307,54 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
           </xs:annotation>
         </xs:element>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
-        <xs:element ref="tns:metadata" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="images">
+  <xs:element name="flavors">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collectio of Openstack images.")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of openstack flavors.")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:image" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:flavor" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="availability-zone">
+  <xs:element name="group-assignment">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Availability zone, a collection of compute hosts/pservers",indexedProps="availability-zone-name",dependentOn="cloud-region",container="availability-zones")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Openstack group-assignment used to store exclusivity groups (EG).",nameProps="group-name",indexedProps="group-id,group-type,group-name",dependentOn="cloud-region",container="group-assignments")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="availability-zone-name" type="xs:string">
+        <xs:element name="group-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Name of the availability zone.  Unique across a cloud region")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Group id, expected to be unique across cloud-region.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="hypervisor-type" type="xs:string">
+        <xs:element name="group-type" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Type of hypervisor.  Source of truth should define valid values.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Group type - the type of group this instance refers to")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="operational-state" type="xs:string" minOccurs="0">
+        <xs:element name="group-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Group name - name assigned to the group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="group-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Group description - description of the group")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -1162,79 +1369,93 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="availability-zones">
+  <xs:element name="group-assignments">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of availability zones")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of openstack group assignments")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:availability-zone" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:group-assignment" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="cloud-region">
+  <xs:element name="snapshot">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="cloud-region designates an installation of a cloud cluster or region or instantiation. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname.",indexedProps="cloud-owner,cloud-region-id,cloud-type,owner-defined-type",nameProps="owner-defined-type",container="cloud-regions",namespace="cloud-infrastructure")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Openstack snapshot",nameProps="snapshot-name",uniqueProps="snapshot-id",indexedProps="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id",dependentOn="cloud-region",container="snapshots")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="cloud-owner" type="xs:string">
+        <xs:element name="snapshot-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Snapshot id, this is the key UUID assoc associated in glance with the snapshots.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="cloud-region-id" type="xs:string">
+        <xs:element name="snapshot-name" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Identifier used by the vendor for the region. Second part of composite key")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Snapshot name")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="cloud-type" type="xs:string" minOccurs="0">
+        <xs:element name="snapshot-architecture" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Type of the cloud (e.g., openstack)")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Operating system architecture")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="owner-defined-type" type="xs:string" minOccurs="0">
+        <xs:element name="snapshot-os-distro" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Cloud-owner defined type indicator")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The common name of the operating system distribution in lowercase")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="cloud-region-version" type="xs:string" minOccurs="0">
+        <xs:element name="snapshot-os-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Software version employed at the site")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="identity-url" type="xs:string" minOccurs="0">
+        <xs:element name="application" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL of the keystone identity service")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The application that the image instantiates.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="cloud-zone" type="xs:string" minOccurs="0">
+        <xs:element name="application-vendor" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Zone where the cloud is homed")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The vendor of the application.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="complex-name" type="xs:string" minOccurs="0">
+        <xs:element name="application-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="complex name for cloud-region instance")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The version of the application.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="snapshot-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="prev-snapshot-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This field contains the UUID of the previous snapshot (if any).")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -1245,426 +1466,547 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element ref="tns:volume-groups" minOccurs="0"/>
-        <xs:element ref="tns:tenants" minOccurs="0"/>
-        <xs:element ref="tns:flavors" minOccurs="0"/>
-        <xs:element ref="tns:group-assignments" minOccurs="0"/>
-        <xs:element ref="tns:snapshots" minOccurs="0"/>
-        <xs:element ref="tns:images" minOccurs="0"/>
-        <xs:element ref="tns:availability-zones" minOccurs="0"/>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="cloud-regions">
+  <xs:element name="snapshots">
     <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of openstack snapshots")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:cloud-region" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:snapshot" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="p-interface">
+  <xs:element name="metadatum">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Physical interface (e.g., nic)",indexedProps="interface-name",dependentOn="pserver,pnf",container="p-interfaces")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Key/value pairs",indexedProps="metaname",dependentOn="tenant,image,service-instance,connector,model",container="metadata")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="interface-name" type="xs:string">
+        <xs:element name="metaname" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Name that identifies the physical interface")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true)</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="speed-value" type="xs:string" minOccurs="0">
+        <xs:element name="metaval" type="xs:string"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="speed-units" type="xs:string" minOccurs="0">
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="metadata">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of metadatum (key/value pairs)")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:metadatum" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="image">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Openstack image.",nameProps="image-name",indexedProps="application,image-name,application-vendor,image-id,application-version",dependentOn="cloud-region",container="images")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="image-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Image id, expected to be unique across cloud region")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="port-description" type="xs:string" minOccurs="0">
+        <xs:element name="image-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Nature of the services and connectivity on this port.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Image name")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="equipment-identifier" type="xs:string" minOccurs="0">
+        <xs:element name="image-architecture" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="CLEI or other specification for p-interface hardware.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Operating system architecture.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="interface-role" type="xs:string" minOccurs="0">
+        <xs:element name="image-os-distro" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Role specification for p-interface hardware.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The common name of the operating system distribution in lowercase")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="interface-type" type="xs:string" minOccurs="0">
+        <xs:element name="image-os-version" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicates the physical properties of the interface.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+        <xs:element name="application" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The application that the image instantiates.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element ref="tns:relationship-list" minOccurs="0"/>
-        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="p-interfaces">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of physical interfaces.")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element ref="tns:p-interface" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="lag-interface">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Link aggregate interface",indexedProps="interface-name",dependentOn="generic-vnf,pserver,pnf",container="lag-interfaces")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element name="interface-name" type="xs:string">
+        <xs:element name="application-vendor" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Name that identifies the link aggregate interface")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The vendor of the application.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+        <xs:element name="application-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The version of the application.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="speed-value" type="xs:string" minOccurs="0">
+        <xs:element name="image-selflink" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="speed-units" type="xs:string" minOccurs="0">
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
-        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
+        <xs:element ref="tns:metadata" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="lag-interfaces">
+  <xs:element name="images">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of link aggregate interfaces.")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collectio of Openstack images.")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:lag-interface" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:image" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="pserver">
+  <xs:element name="availability-zones">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver.",nameProps="pserver-name2",indexedProps="hostname,in-maint,pserver-id,pserver-name2",searchable="hostname,pserver-name2,pserver-id,ipv4-oam-address",container="pservers",namespace="cloud-infrastructure")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of availability zones")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="hostname" type="xs:string">
+        <xs:element ref="tns:availability-zone" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-region">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&amp;Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&amp;T's AIC.",indexedProps="cloud-owner,cloud-region-id,cloud-type,owner-defined-type",nameProps="owner-defined-type",container="cloud-regions",namespace="cloud-infrastructure")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cloud-owner" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Value from executing hostname on the compute node.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="ptnii-equip-name" type="xs:string" minOccurs="0">
+        <xs:element name="cloud-region-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="PTNII name")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Identifier used by the vendor for the region. Second part of composite key")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="number-of-cpus" type="xs:int" minOccurs="0">
+        <xs:element name="cloud-type" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Number of cpus")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Type of the cloud (e.g., openstack)")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="disk-in-gigabytes" type="xs:int" minOccurs="0">
+        <xs:element name="owner-defined-type" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Disk size, in GBs")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Cloud-owner defined type indicator (e.g., DCP, LCP)")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="ram-in-megabytes" type="xs:int" minOccurs="0">
+        <xs:element name="cloud-region-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="RAM size, in MBs")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Software version employed at the site")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="equip-type" type="xs:string" minOccurs="0">
+        <xs:element name="identity-url" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL of the keystone identity service")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
+        <xs:element name="cloud-zone" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Zone where the cloud is homed")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="equip-model" type="xs:string" minOccurs="0">
+        <xs:element name="complex-name" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="complex name for cloud-region instance")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="fqdn" type="xs:string" minOccurs="0">
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Fully-qualified domain name")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="pserver-selflink" type="xs:string" minOccurs="0">
+        <xs:element ref="tns:volume-groups" minOccurs="0"/>
+        <xs:element ref="tns:tenants" minOccurs="0"/>
+        <xs:element ref="tns:flavors" minOccurs="0"/>
+        <xs:element ref="tns:group-assignments" minOccurs="0"/>
+        <xs:element ref="tns:snapshots" minOccurs="0"/>
+        <xs:element ref="tns:images" minOccurs="0"/>
+        <xs:element ref="tns:dvs-switches" minOccurs="0"/>
+        <xs:element ref="tns:oam-networks" minOccurs="0"/>
+        <xs:element ref="tns:availability-zones" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-regions">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:cloud-region" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-profile">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Network profile populated by SDN-GP for SNMP",indexedProps="nm-profile-name",container="network-profiles",namespace="cloud-infrastructure")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="nm-profile-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique name of network profile.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="ipv4-oam-address" type="xs:string" minOccurs="0">
+        <xs:element name="community-string" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used to configure device, also used for troubleshooting and is IP used for traps generated by device.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Encrypted SNMP community string")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="serial-number" type="xs:string" minOccurs="0">
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Serial number, may be queried")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="pserver-id" type="xs:string" minOccurs="0">
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-profiles">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of network profiles")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:network-profile" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="p-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Physical interface (e.g., nic)",indexedProps="interface-name",dependentOn="vpls-pe,pserver,pnf",container="p-interfaces")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="ID of Pserver")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Name that identifies the physical interface")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="internet-topology" type="xs:string" minOccurs="0">
+        <xs:element name="speed-value" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="internet topology of Pserver")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="in-maint" type="xs:boolean">
+        <xs:element name="speed-units" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+        <xs:element name="port-description" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Nature of the services and connectivity on this port.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="pserver-name2" type="xs:string" minOccurs="0">
+        <xs:element name="equipment-identifier" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="alternative pserver name")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="CLEI or other specification for p-interface hardware.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="purpose" type="xs:string" minOccurs="0">
+        <xs:element name="interface-role" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="purpose of pserver")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Role specification for p-interface hardware.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="interface-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicates the physical properties of the interface.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
-        <xs:element ref="tns:p-interfaces" minOccurs="0"/>
-        <xs:element ref="tns:lag-interfaces" minOccurs="0"/>
+        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="pservers">
+  <xs:element name="p-interfaces">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of compute hosts.")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of physical interfaces.")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:pserver" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:p-interface" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="cloud-infrastructure">
+  <xs:element name="lag-interface">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Namespace for cloud infrastructure.")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Link aggregate interface",indexedProps="interface-name",dependentOn="generic-vnf,pserver,vpe,vpls-pe,pnf",container="lag-interfaces")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:cloud-regions" minOccurs="0"/>
-        <xs:element ref="tns:pservers" minOccurs="0"/>
+        <xs:element name="interface-name" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Name that identifies the link aggregate interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="speed-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="speed-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="service-instance">
+  <xs:element name="lag-interfaces">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Instance of a service",indexedProps="service-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id",nameProps="service-instance-name",searchable="service-instance-id",uniqueProps="service-instance-id",dependentOn="service-subscription",container="service-instances")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of link aggregate interfaces.")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="service-instance-id" type="xs:string">
+        <xs:element ref="tns:lag-interface" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pserver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver.",nameProps="pserver-name2",indexedProps="hostname,in-maint,pserver-id,pserver-name2",searchable="hostname,pserver-name2,pserver-id,ipv4-oam-address",container="pservers",namespace="cloud-infrastructure")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hostname" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this instance of a service")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Value from executing hostname on the compute node.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="service-instance-name" type="xs:string" minOccurs="0">
+        <xs:element name="ptnii-equip-name" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This field will store a name assigned to the service-instance.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="PTNII name")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="persona-model-id" type="xs:string" minOccurs="0">
+        <xs:element name="number-of-cpus" type="xs:int" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC model id for this resource or service model.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Number of cpus")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
+        <xs:element name="disk-in-gigabytes" type="xs:int" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC model version for this resource or service model.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Disk size, in GBs")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="widget-model-id" type="xs:string" minOccurs="0">
+        <xs:element name="ram-in-megabytes" type="xs:int" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC data dictionary widget model. This maps directly to the AAI widget.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="RAM size, in MBs")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="widget-model-version" type="xs:string" minOccurs="0">
+        <xs:element name="equip-type" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="bandwidth-total" type="xs:string" minOccurs="0">
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicates the total bandwidth to be used for this service.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="bandwidth-up-wan1" type="xs:string" minOccurs="0">
+        <xs:element name="equip-model" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="bandwidth-down-wan1" type="xs:string" minOccurs="0">
+        <xs:element name="fqdn" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Fully-qualified domain name")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="bandwidth-up-wan2" type="xs:string" minOccurs="0">
+        <xs:element name="pserver-selflink" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="bandwidth-down-wan2" type="xs:string" minOccurs="0">
+        <xs:element name="ipv4-oam-address" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used to configure device, also used for troubleshooting and is IP used for traps generated by device.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vhn-portal-url" type="xs:string" minOccurs="0">
+        <xs:element name="serial-number" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL customers will use to access the vHN Portal.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Serial number, may be queried")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="operational-status" type="xs:string" minOccurs="0">
+        <xs:element name="pserver-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Operational status of the service-instance.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="ID of Pserver")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="service-instance-location-id" type="xs:string" minOccurs="0">
+        <xs:element name="internet-topology" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="An identifier that customers assign to the location where this service is being used.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="internet topology of Pserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -1675,42 +2017,57 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
+        <xs:element name="pserver-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="alternative pserver name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="purpose" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="purpose of pserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
-        <xs:element ref="tns:metadata" minOccurs="0"/>
+        <xs:element ref="tns:p-interfaces" minOccurs="0"/>
+        <xs:element ref="tns:lag-interfaces" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="service-instances">
+  <xs:element name="pservers">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of service instances")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of compute hosts.")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:service-instance" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:pserver" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="service-subscription">
+  <xs:element name="virtual-data-center">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Object that group service instances.",indexedProps="service-type",dependentOn="customer",container="service-subscriptions")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Virtual organization of cloud infrastructure elements in a data center context",nameProps="vdc-name",indexedProps="vdc-name,vdc-id",container="virtual-data-centers",namespace="cloud-infrastructure")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="service-type" type="xs:string">
+        <xs:element name="vdc-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Value defined by orchestration to identify this service across OpenECOMP.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of the vdc")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="temp-ub-sub-account-id" type="xs:string" minOccurs="0">
+        <xs:element name="vdc-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This property will be deleted from AAI in the near future. Only stop gap solution.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of the virtual data center")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -1721,49 +2078,50 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element ref="tns:service-instances" minOccurs="0"/>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="service-subscriptions">
+  <xs:element name="virtual-data-centers">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of objects that group service instances.")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Virtual organization of cloud infrastructure elements in a data center context")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:service-subscription" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:virtual-data-center" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="customer">
+  <xs:element name="cloud-infrastructure">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="customer identifiers to provide linkage back to BSS information.",nameProps="subscriber-name",indexedProps="subscriber-name,global-customer-id,subscriber-type",searchable="subscriber-name,global-customer-id",uniqueProps="global-customer-id,subscriber-name",alternateKeys1="subscriber-name",container="customers",namespace="business")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Namespace for cloud infrastructure.")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="global-customer-id" type="xs:string">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Global customer id used across OpenECOMP to uniquely identify customer.")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="subscriber-name" type="xs:string">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Subscriber name, an alternate way to retrieve a customer.")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="subscriber-type" type="xs:string">
+        <xs:element ref="tns:complexes" minOccurs="0"/>
+        <xs:element ref="tns:cloud-regions" minOccurs="0"/>
+        <xs:element ref="tns:network-profiles" minOccurs="0"/>
+        <xs:element ref="tns:pservers" minOccurs="0"/>
+        <xs:element ref="tns:virtual-data-centers" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="connector">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of resource instances used to connect a variety of disparate inventory widgets",indexedProps="resource-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version",container="connectors",namespace="business")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="resource-instance-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Subscriber type, a way to provide VID with only the INFRA customers.",defaultValue="CUST")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of resource instance.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -1774,301 +2132,161 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element ref="tns:service-subscriptions" minOccurs="0"/>
-        <xs:element ref="tns:relationship-list" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="customers">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of customer identifiers to provide linkage back to BSS information.")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element ref="tns:customer" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="business">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Namespace for business related constructs")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element ref="tns:customers" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="service">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Stand-in for service model definitions.  Likely to be deprecated in favor of models from SDC.",indexedProps="service-description,service-id",container="services",namespace="service-design-and-creation")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element name="service-id" type="xs:string">
+        <xs:element name="persona-model-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="This gets defined by others to provide a unique ID for the service, we accept what is sent.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",requires="persona-model-version",visibility="deployment")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="service-description" type="xs:string">
+        <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Description of the service")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="persona-model-id")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="service-selflink" type="xs:string" minOccurs="0">
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dbAlias="model-version-id-local",dataCopy="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+        <xs:element name="widget-model-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="service-version" type="xs:string" minOccurs="0">
+        <xs:element name="widget-model-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="service version")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:metadata" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="services">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of service model definitions.  Likely to be deprecated in favor of models from SDC.")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element ref="tns:service" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="element-choice-set">
+  <xs:element name="connectors">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="This is how we would capture constraints defining allowed sets of elements.",uniqueProps="element-choice-set-uuid",indexedProps="element-choice-set-uuid",allowDirectRead="true",allowDirectWrite="false",container="element-choice-sets")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of resource instances used to connect a variety of disparate inventory widgets")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="element-choice-set-uuid" type="xs:string">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="element-choice-set-name" type="xs:string"/>
-        <xs:element name="cardinality" type="xs:string" minOccurs="0"/>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
-        <xs:element ref="tns:model-elements" minOccurs="0"/>
-        <xs:element ref="tns:relationship-list" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="element-choice-sets">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="tns:element-choice-set" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:connector" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="constrained-element-set">
+  <xs:element name="service-instance">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="This is how we would capture constraints defining allowed sets of elements.",uniqueProps="constrained-element-set-uuid",indexedProps="constrained-element-set-uuid",allowDirectRead="true",allowDirectWrite="false",container="constrained-element-sets")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Instance of a service",indexedProps="service-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id",nameProps="service-instance-name",searchable="service-instance-id",uniqueProps="service-instance-id",dependentOn="service-subscription",container="service-instances")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="constrained-element-set-uuid" type="xs:string">
+        <xs:element name="service-instance-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this instance of a service")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="constraint-type" type="xs:string"/>
-        <xs:element name="check-type" type="xs:string"/>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
-        <xs:element ref="tns:element-choice-sets" minOccurs="0"/>
-        <xs:element ref="tns:relationship-list" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="constrained-element-sets">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="tns:constrained-element-set" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="model-constraint">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="This is how we would capture constraints defining allowed sets of elements.",uniqueProps="model-constraint-uuid",indexedProps="model-constraint-uuid",allowDirectRead="true",allowDirectWrite="false",container="model-constraints")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element name="model-constraint-uuid" type="xs:string">
+        <xs:element name="service-instance-name" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This field will store a name assigned to the service-instance.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="constrained-element-set-uuid-to-replace" type="xs:string"/>
-        <xs:element ref="tns:constrained-element-sets" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="model-constraints">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="tns:model-constraint" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="model-element">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Defines how other models combine to make up a higher-level model.",uniqueProps="model-element-uuid",indexedProps="model-element-uuid",allowDirectRead="true",allowDirectWrite="false",container="model-elements")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element name="model-element-uuid" type="xs:string">
+        <xs:element name="persona-model-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",requires="persona-model-version",visibility="deployment")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="new-data-del-flag" type="xs:string">
+        <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicates whether this element was created as part of instantiation from this model")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="persona-model-id")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="cardinality" type="xs:string">
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="How many of this type of element are required/allowed")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dbAlias="model-version-id-local",dataCopy="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="linkage-points" minOccurs="0">
-          <xs:complexType>
-            <xs:annotation>
-              <xs:appinfo>
-                <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Defines how other models combine to make up a higher-level model.",uniqueProps="model-element-uuid",indexedProps="model-element-uuid",allowDirectRead="true",allowDirectWrite="false",container="model-elements")</annox:annotate>
-              </xs:appinfo>
-            </xs:annotation>
-            <xs:sequence>
-              <xs:element name="linkage-point" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
-            </xs:sequence>
-          </xs:complexType>
-        </xs:element>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+        <xs:element name="widget-model-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element ref="tns:model-elements" minOccurs="0">
+        <xs:element name="widget-model-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Defines how other models combine to make up a higher-level model")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element ref="tns:model-constraints" minOccurs="0">
+        <xs:element name="bandwidth-total" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Describes new constraints on this model element that are not part of that model's definition")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicates the total bandwidth to be used for this service.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element ref="tns:relationship-list" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="model-elements">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="tns:model-element" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="model">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Subgraph definition provided by SDC to describe an inventory asset and its connections related to SDC models",nameProps="model-name,model-type",indexedProps="model-name-version-id,model-type,model-name,model-id,model-version",alternateKeys1="model-id,model-version",uniqueProps="model-name-version-id",container="models",namespace="service-design-and-creation")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element name="model-name-version-id" type="xs:string">
+        <xs:element name="bandwidth-up-wan1" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to one version of a model in SDC")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="model-type" type="xs:string">
+        <xs:element name="bandwidth-down-wan1" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Type of the model, e.g., service, resource, widget, etc.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="model-name" type="xs:string">
+        <xs:element name="bandwidth-up-wan2" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of the model, which can change from version to version.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="model-id" type="xs:string">
+        <xs:element name="bandwidth-down-wan2" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Invariant unique ID which does not change from version to version")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="model-version" type="xs:string">
+        <xs:element name="vhn-portal-url" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Version")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL customers will use to access the vHN Portal.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="model-description" type="xs:string" minOccurs="0">
+        <xs:element name="service-instance-location-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Description")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="An identifier that customers assign to the location where this service is being used.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -2079,222 +2297,279 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element ref="tns:model-elements" minOccurs="0"/>
-        <xs:element ref="tns:metadata" minOccurs="0"/>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:metadata" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="models">
+  <xs:element name="service-instances">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of subgraph definitions provided by SDC to describe the inventory assets and their connections related to SDC models")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of service instances")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:model" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:service-instance" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="related-lookup">
+  <xs:element name="service-subscription">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="TBD",uniqueProps="related-lookup-uuid",indexedProps="related-lookup-uuid",allowDirectRead="true",allowDirectWrite="false",container="related-lookups")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Object that group service instances.",indexedProps="service-type",dependentOn="customer",container="service-subscriptions")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="related-lookup-uuid" type="xs:string">
+        <xs:element name="service-type" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Value defined by orchestration to identify this service across ECOMP.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="source-node-type" type="xs:string"/>
-        <xs:element name="source-node-property" type="xs:string"/>
-        <xs:element name="target-node-type" type="xs:string"/>
-        <xs:element name="target-node-property" type="xs:string"/>
-        <xs:element name="property-collect-list" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="temp-ub-sub-account-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="This property will be deleted from A&amp;AI in the near future. Only stop gap solution.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:service-instances" minOccurs="0"/>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="related-lookups">
+  <xs:element name="service-subscriptions">
     <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of objects that group service instances.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:related-lookup" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:service-subscription" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="property-constraint">
+  <xs:element name="customer">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="TBD",uniqueProps="property-constraint-uuid",indexedProps="property-constraint-uuid",allowDirectRead="true",allowDirectWrite="false",container="property-constraints")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="customer identifiers to provide linkage back to BSS information.",nameProps="subscriber-name",indexedProps="subscriber-name,global-customer-id,subscriber-type",searchable="subscriber-name,global-customer-id",uniqueProps="global-customer-id",container="customers",namespace="business")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="property-constraint-uuid" type="xs:string">
+        <xs:element name="global-customer-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Global customer id used across ECOMP to uniquely identify customer.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="constraint-type" type="xs:string"/>
-        <xs:element name="property-name" type="xs:string"/>
-        <xs:element name="property-value" type="xs:string"/>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="property-constraints">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="tns:property-constraint" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element name="subscriber-name" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Subscriber name, an alternate way to retrieve a customer.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="subscriber-type" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Subscriber type, a way to provide VID with only the INFRA customers.",defaultValue="CUST")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:service-subscriptions" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="named-query-element">
+  <xs:element name="customers">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="TBD",uniqueProps="named-query-element-uuid",indexedProps="named-query-element-uuid",allowDirectRead="true",allowDirectWrite="false",container="named-query-elements")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of customer identifiers to provide linkage back to BSS information.")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="named-query-element-uuid" type="xs:string">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="property-collect-list" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
-        <xs:element name="property-limit-desc" type="xs:string" minOccurs="0"/>
-        <xs:element name="do-not-output" type="xs:string" minOccurs="0"/>
-        <xs:element ref="tns:named-query-elements" minOccurs="0"/>
-        <xs:element ref="tns:related-lookups" minOccurs="0"/>
-        <xs:element ref="tns:property-constraints" minOccurs="0"/>
-        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:customer" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="named-query-elements">
+  <xs:element name="business">
     <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Namespace for business related constructs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:named-query-element" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:connectors" minOccurs="0"/>
+        <xs:element ref="tns:customers" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="named-query">
+  <xs:element name="vnf-image">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="TBD",nameProps="named-query-name",uniqueProps="named-query-uuid",indexedProps="named-query-uuid,named-query-name",container="named-queries",namespace="service-design-and-creation")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Image object that pertain to a VNF that doesn't have associated vservers.  This is a kludge.",indexedProps="application,vnf-image-uuid,application-vendor,application-version",uniqueProps="vnf-image-uuid",container="vnf-images",namespace="service-design-and-creation")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="named-query-uuid" type="xs:string">
+        <xs:element name="vnf-image-uuid" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true)</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of this asset")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="named-query-name" type="xs:string"/>
-        <xs:element name="named-query-version" type="xs:string"/>
-        <xs:element name="required-input-params" minOccurs="0">
-          <xs:complexType>
-            <xs:annotation>
-              <xs:appinfo>
-                <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="TBD",nameProps="named-query-name",uniqueProps="named-query-uuid",indexedProps="named-query-uuid,named-query-name",container="named-queries",namespace="service-design-and-creation")</annox:annotate>
-              </xs:appinfo>
-            </xs:annotation>
-            <xs:sequence>
-              <xs:element name="required-input-param" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
-            </xs:sequence>
-          </xs:complexType>
+        <xs:element name="application" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The application that the image instantiates.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application-vendor" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The vendor of the application.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The version of the application.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
         </xs:element>
-        <xs:element name="description" type="xs:string" minOccurs="0"/>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
-        <xs:element ref="tns:named-query-elements" minOccurs="0"/>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="named-queries">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="tns:named-query" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="service-design-and-creation">
+  <xs:element name="vnf-images">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Namespace for objects managed by SDC")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of image objects that pertain to a VNF that doesn't have associated vservers.  This is a kludge.")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:services" minOccurs="0"/>
-        <xs:element ref="tns:models" minOccurs="0"/>
-        <xs:element ref="tns:named-queries" minOccurs="0"/>
+        <xs:element ref="tns:vnf-image" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="logical-link">
+  <xs:element name="service">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Logical links generally connect l-interfaces but are used to express logical connectivity between two points",indexedProps="link-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,link-id",uniqueProps="link-id",container="logical-links",namespace="network")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Stand-in for service model definitions.  Likely to be deprecated in favor of models from ASDC.",indexedProps="service-description,service-id",container="services",namespace="service-design-and-creation")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="link-name" type="xs:string">
+        <xs:element name="service-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="This gets defined by others to provide a unique ID for the service, we accept what is sent.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="link-type" type="xs:string">
+        <xs:element name="service-description" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Type of logical link, e.g., evc")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Description of the service")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="speed-value" type="xs:string" minOccurs="0">
+        <xs:element name="service-selflink" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="speed-units" type="xs:string" minOccurs="0">
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="ip-version" type="xs:string" minOccurs="0">
+        <xs:element name="service-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="v4, v6, or ds for dual stack (should be ip-version)")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="service version")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="routing-protocol" type="xs:string" minOccurs="0">
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="services">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of service model definitions.  Likely to be deprecated in favor of models from ASDC.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:service" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-capability">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Early definition of server/resource pairings, likely to be replaced by models.  No new use should be made of this.",indexedProps="service-type,vnf-type",container="service-capabilities",namespace="service-design-and-creation")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-type" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="For example, static or BGP")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="This gets defined by others to provide a unique ID for the service, we accept what is sent.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -2305,59 +2580,1884 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="persona-model-id" type="xs:string" minOccurs="0">
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-capabilities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of service capabilities.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:service-capability" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="element-choice-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="This is how we would capture constraints defining allowed sets of elements.",uniqueProps="element-choice-set-uuid",indexedProps="element-choice-set-uuid",allowDirectRead="true",allowDirectWrite="false",container="element-choice-sets")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="element-choice-set-uuid" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC model id for this resource or service model.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="element-choice-set-name" type="xs:string"/>
+        <xs:element name="cardinality" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:model-elements" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="element-choice-sets">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:element-choice-set" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="constrained-element-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="This is how we would capture constraints defining allowed sets of elements.",uniqueProps="constrained-element-set-uuid",indexedProps="constrained-element-set-uuid",allowDirectRead="true",allowDirectWrite="false",container="constrained-element-sets")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="constrained-element-set-uuid" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="constraint-type" type="xs:string"/>
+        <xs:element name="check-type" type="xs:string"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:element-choice-sets" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="constrained-element-sets">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:constrained-element-set" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-constraint">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="This is how we would capture constraints defining allowed sets of elements.",uniqueProps="model-constraint-uuid",indexedProps="model-constraint-uuid",allowDirectRead="true",allowDirectWrite="false",container="model-constraints")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-constraint-uuid" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="constrained-element-set-uuid-to-replace" type="xs:string"/>
+        <xs:element ref="tns:constrained-element-sets" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-constraints">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:model-constraint" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-element">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Defines how other models combine to make up a higher-level model.",uniqueProps="model-element-uuid",indexedProps="model-element-uuid",allowDirectRead="true",allowDirectWrite="false",container="model-elements")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-element-uuid" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="new-data-del-flag" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicates whether this element was created as part of instantiation from this model")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cardinality" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="How many of this type of element are required/allowed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="linkage-points" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:model-elements" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Defines how other models combine to make up a higher-level model")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:model-constraints" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Describes new constraints on this model element that are not part of that model's definition")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-elements">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:model-element" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models",nameProps="model-name,model-type",indexedProps="model-name-version-id,model-type,model-name,model-id,model-version",alternateKeys1="model-id,model-version",uniqueProps="model-name-version-id",container="models",namespace="service-design-and-creation")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-name-version-id" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to one version of a model in ASDC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-type" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Type of the model, e.g., service, resource, widget, etc.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-name" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of the model, which can change from version to version.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-id" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Invariant unique ID which does not change from version to version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-version" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Description")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:model-elements" minOccurs="0"/>
+        <xs:element ref="tns:metadata" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="models">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:model" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-lookup">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="TBD",uniqueProps="related-lookup-uuid",indexedProps="related-lookup-uuid",allowDirectRead="true",allowDirectWrite="false",container="related-lookups")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="related-lookup-uuid" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="source-node-type" type="xs:string"/>
+        <xs:element name="source-node-property" type="xs:string"/>
+        <xs:element name="target-node-type" type="xs:string"/>
+        <xs:element name="target-node-property" type="xs:string"/>
+        <xs:element name="property-collect-list" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-lookups">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:related-lookup" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="property-constraint">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="TBD",uniqueProps="property-constraint-uuid",indexedProps="property-constraint-uuid",allowDirectRead="true",allowDirectWrite="false",container="property-constraints")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="property-constraint-uuid" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="constraint-type" type="xs:string"/>
+        <xs:element name="property-name" type="xs:string"/>
+        <xs:element name="property-value" type="xs:string"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="property-constraints">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:property-constraint" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query-element">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="TBD",uniqueProps="named-query-element-uuid",indexedProps="named-query-element-uuid",allowDirectRead="true",allowDirectWrite="false",container="named-query-elements")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="named-query-element-uuid" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="property-collect-list" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-limit-desc" type="xs:string" minOccurs="0"/>
+        <xs:element name="do-not-output" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:named-query-elements" minOccurs="0"/>
+        <xs:element ref="tns:related-lookups" minOccurs="0"/>
+        <xs:element ref="tns:property-constraints" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query-elements">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:named-query-element" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="TBD",nameProps="named-query-name",uniqueProps="named-query-uuid",indexedProps="named-query-uuid,named-query-name",container="named-queries",namespace="service-design-and-creation")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="named-query-uuid" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true)</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="named-query-name" type="xs:string"/>
+        <xs:element name="named-query-version" type="xs:string"/>
+        <xs:element name="required-input-params" minOccurs="0">
+          <xs:complexType>
+            <xs:annotation>
+              <xs:appinfo>
+                <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="TBD",nameProps="named-query-name",uniqueProps="named-query-uuid",indexedProps="named-query-uuid,named-query-name",container="named-queries",namespace="service-design-and-creation")</annox:annotate>
+              </xs:appinfo>
+            </xs:annotation>
+            <xs:sequence>
+              <xs:element name="required-input-param" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+            </xs:sequence>
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:named-query-elements" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-queries">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:named-query" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-design-and-creation">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Namespace for objects managed by ASDC")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:vnf-images" minOccurs="0"/>
+        <xs:element ref="tns:services" minOccurs="0"/>
+        <xs:element ref="tns:service-capabilities" minOccurs="0"/>
+        <xs:element ref="tns:models" minOccurs="0"/>
+        <xs:element ref="tns:named-queries" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="logical-link">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Logical links generally connect l-interfaces but are used to express logical connectivity between two points",indexedProps="link-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,link-id",uniqueProps="link-id",container="logical-links",namespace="network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="link-type" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Type of logical link, e.g., evc")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="speed-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="speed-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ip-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="v4, v6, or ds for dual stack")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="routing-protocol" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="For example, static or BGP")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="persona-model-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",requires="persona-model-version",visibility="deployment")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="persona-model-id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dbAlias="model-version-id-local",dataCopy="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="widget-model-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="widget-model-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="operational-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indication of operational status of the logical link.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="link-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indication of the network use of the logical link.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="link-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Alias or alternate name (CLCI or D1 name).")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="link-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="UUID of the logical-link, SDNC generates this.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="logical-links">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of logical connections")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:logical-link" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="class-of-service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(indexedProps="cos",dependentOn="site-pair",container="classes-of-service")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cos" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="unique identifier of probe")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="probe-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="identifier of probe")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="probe-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="type of probe")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="classes-of-service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="class-of-service of probe")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:class-of-service" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(indexedProps="site-pair-id",uniqueProps="site-pair-id",dependentOn="routing-instance",container="site-pairs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="site-pair-id" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="unique identifier of probe")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="source-ip" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Prefix address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="destination-ip" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Prefix address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ip-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="ip version, v4, v6")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="destination-hostname" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Hostname of the destination equipment to which SLAs are measured against.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="destination-equip-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The type of destinatination equipment. Could be Router, etc.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:classes-of-service" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pairs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="probe within a set")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:site-pair" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="routing-instance">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(indexedProps="routing-instance-id",uniqueProps="routing-instance-id",dependentOn="site-pair-set",container="routing-instances")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="routing-instance-id" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of routing instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="rpm-owner" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="rpm owner")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:site-pairs" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="routing-instances">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="set of probes related to generic-vnf routing instance")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:routing-instance" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Set of instances for probes used to measure service level agreements",indexedProps="site-pair-set-id",uniqueProps="site-pair-set-id",container="site-pair-sets",namespace="network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="site-pair-set-id" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of site pair set.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:routing-instances" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair-sets">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of sets of instances for probes related to generic-vnf")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:site-pair-set" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpn-binding">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="VPN binding",nameProps="vpn-name",indexedProps="vpn-name,vpn-id,global-route-target",uniqueProps="vpn-id",container="vpn-bindings",namespace="network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vpn-id" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="VPN ID, globally unique within A&amp;AI")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-name" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="VPN Name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="global-route-target" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Number used to identify a VPN, globally unique in the network")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-platform" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the platform associated with the VPN example AVPN, Mobility")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="l3-networks relate to vpn-bindings")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpn-bindings">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vpn-binding" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpls-pe">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="VPLS Provider Edge routers.",indexedProps="prov-status,equipment-name",container="vpls-pes",namespace="network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="equipment-name" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true)</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this VNF by BAU Service Assurance systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipv4-oam-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address).")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equipment-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Client should send valid enumerated value, e.g., VPLS-PE.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-outer" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Temporary location for stag to get to VCE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:p-interfaces" minOccurs="0"/>
+        <xs:element ref="tns:lag-interfaces" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpls-pes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of VPLS Provider Edge routers")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:vpls-pe" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="multicast-configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(indexedProps="multicast-configuration-id",uniqueProps="multicast-configuration-id",container="multicast-configurations",namespace="network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="multicast-configuration-id" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of multicast configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="multicast-protocol" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="protocol of multicast configuration")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="rp-type" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="rp type of multicast configuration")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="multicast-configurations">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="multicast configuration of generic-vnf ip-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:multicast-configuration" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cvlan-tag-entry">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(dependentOn="port-group",indexedProps="cvlan-tag",container="cvlan-tags")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cvlan-tag" type="xs:unsignedInt">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="See mis-na-virtualization-platform.yang")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cvlan-tags">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:cvlan-tag-entry" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="port-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Used to capture the network interfaces of this VCE",nameProps="port-group-name",indexedProps="port-group-id,heat-stack-id,interface-id,interface-name,switch-name",dependentOn="vce",container="port-groups")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-id" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of the interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Neutron network id of this Interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="neutron-network-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Neutron network name of this Interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="interface-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Role assigned to this Interface, should use values as defined in ECOMP Yang models.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Unique ID for port group in vmware")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port-group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Likely to duplicate value of neutron network name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="switch-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="DVS or standard switch name (should be non-null for port groups associated with DVS)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="orchestration-status" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="mso-catalog-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:cvlan-tags" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="port-groups">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:port-group" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vce">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Virtual Customer Edge Router, used specifically for Gamma.  This object is deprecated.",nameProps="vnf-name",indexedProps="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id",searchable="vnf-id,vnf-name,vnf-name2",uniqueProps="vnf-id",container="vces",namespace="network",extendsFrom="vnf")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of VNF.  This is unique across the graph.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-name" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Unique identifier of service from ASDC.  Expect this to change as ASDC matures.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="regional-resource-zone" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Regional way of organizing pservers, source of truth should define values")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="operational-state" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational",dbAlias="operational-status")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="license-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="License key")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equipment-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Network role being played by this VNF")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="mso-catalog-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpe-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Unique ID of VPE connected to this VCE.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="v6-vce-wan-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Valid v6 IP address for the WAN Link on this router.  Implied length of /64.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipv4-oam-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipv4-loopback0-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Loopback0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="entitlement-resource-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Entitlement resource uuid")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:port-groups" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of Virtual Customer Edge Routers, used specifically for Gamma.  This object is deprecated.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:vce" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpe">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Relationship-list must include related to info for complex.",nameProps="vnf-name",indexedProps="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,regional-resource-zone,prov-status,service-id",searchable="vnf-id,vnf-name,vnf-name2",uniqueProps="vnf-id",container="vpes",namespace="network",extendsFrom="vnf")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of VNF.  This is unique across the graph.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-name" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Unique identifier of service from ASDC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="regional-resource-zone" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Regional way of organizing pservers, source of truth should define values")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="operational-state" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational",dbAlias="operational-status")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="license-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="License key")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equipment-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Client should send valid enumerated value")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="mso-catalog-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipv4-oam-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address).")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipv4-oam-gateway-address-prefix-length" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Prefix length for oam-address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipv4-oam-gateway-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Gateway address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="v4-loopback0-ip-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Loopback0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-outer" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Temporary location for stag to get to VCE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="as-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="as-number of the VPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="summary-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="details regarding the vpe operation")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="encrypted-access-flag" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="indicates whether vpe access uses SSH")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
+        <xs:element ref="tns:lag-interfaces" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Virtual provider edge router. In 1504, A&amp;AI will populate this object through an M&amp;P and tool provided to operations.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:vpe" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnfc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(indexedProps="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation",container="vnfcs",namespace="network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnfc-name" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of vnfc.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnfc-function-code" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="function code")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnfc-type" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="type")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="prov status of this vnfc")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by APP-C")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-oam-vip" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Oam V4 vip address of this vnfc")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-closed-loop-disabled" type="xs:boolean">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether closed loop function is enabled on this node")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="group-notation" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Group notation of VNFC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnfcs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="virtual network components associated with a vserver from application controller.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:vnfc" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="subnet">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(indexedProps="subnet-id,subnet-name",nameProps="subnet-name",uniqueProps="subnet-id",dependentOn="l3-network",container="subnets")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="subnet-id" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Subnet ID, should be UUID.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="subnet-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name associated with the subnet.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="neutron-subnet-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Neutron id of this subnet")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="gateway-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="gateway ip address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-start-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="network start address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cidr-mask" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="cidr mask")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ip-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="ip version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dhcp-enabled" type="xs:boolean">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="dhcp enabled")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dhcp-start" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the start address reserved for use by dhcp")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dhcp-end" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the last address reserved for use by dhcp")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="subnets">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:subnet" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ctag-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(indexedProps="vlan-id-inner",dependentOn="l3-network",container="ctag-assignments")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="id.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ctag-assignments">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ctag-assignment" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="segmentation-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Openstack segmentation assignment.",indexedProps="segmentation-id",dependentOn="l3-network",container="segmentation-assignments")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="segmentation-id" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Route Table Reference id, UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Concurrency value")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="segmentation-assignments">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of openstack segmentation assignments")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:segmentation-assignment" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Generic network definition",nameProps="network-name",indexedProps="heat-stack-id,network-uuid,service-id,network-id,network-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-network-fqdn",uniqueProps="network-id",container="l3-networks",namespace="network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-id" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Network ID, should be uuid. Unique across A&amp;AI.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-name" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of the network, governed by some naming convention..")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Type of the network - who defines these values?")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Role the network plans - who defines these values?")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-technology" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Network technology - who defines these values?")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Neutron network id of this Interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-bound-to-vpn" type="xs:boolean">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Set to true if bound to VPN")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Unique identifier of service from ASDC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-role-instance" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="network role instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="mso-catalog-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="contrail-network-fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Contrail FQDN for the network")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="persona-model-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",requires="persona-model-version",visibility="deployment")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="persona-model-id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dbAlias="model-version-id-local",dataCopy="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="widget-model-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="widget-model-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="physical-network-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name associated with the physical network.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-provider-network" type="xs:boolean">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not network is a provider network.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
+        <xs:element name="is-shared-network" type="xs:boolean">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC model version for this resource or service model.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not network is a shared network.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="widget-model-id" type="xs:string" minOccurs="0">
+        <xs:element name="is-external-network" type="xs:boolean">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC data dictionary widget model. This maps directly to the AAI widget.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not network is an external network.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="widget-model-version" type="xs:string" minOccurs="0">
+        <xs:element ref="tns:subnets" minOccurs="0"/>
+        <xs:element ref="tns:ctag-assignments" minOccurs="0"/>
+        <xs:element ref="tns:segmentation-assignments" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="operational-status" type="xs:string" minOccurs="0">
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-networks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:l3-network" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-policy">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(nameProps="network-policy-fqdn",indexedProps="network-policy-id,network-policy-fqdn",uniqueProps="network-policy-id",container="network-policies",namespace="network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-policy-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indication of operational status of the logical link.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="UUID representing unique key to this instance")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="link-role" type="xs:string" minOccurs="0">
+        <xs:element name="network-policy-fqdn" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indication of the network use of the logical link.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Contrail FQDN for the policy")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="link-name2" type="xs:string" minOccurs="0">
+        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Alias or alternate name (CLCI or D1 name).")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="ID for the openStack Heat instance")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="link-id" type="xs:string" minOccurs="0">
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="UUID of the logical-link, SDNC generates this.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -2365,93 +4465,102 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="logical-links">
+  <xs:element name="network-policies">
     <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of logical connections")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:logical-link" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:network-policy" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="vnfc">
+  <xs:element name="vf-module">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(indexedProps="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation",container="vnfcs",namespace="network")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="a deployment unit of VNFCs",indexedProps="vf-module-id,vf-module-name,heat-stack-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-service-instance-fqdn",dependentOn="generic-vnf",container="vf-modules")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="vnfc-name" type="xs:string">
+        <xs:element name="vf-module-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of vnfc.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of vf-module.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vnfc-function-code" type="xs:string">
+        <xs:element name="vf-module-name" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="function code")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of vf-module")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vnfc-type" type="xs:string">
+        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="type")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="prov-status" type="xs:string" minOccurs="0">
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="prov status of this vnfc")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="orchestration status of this vf-module, mastered by MSO")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="orchestration-status" type="xs:string" minOccurs="0">
+        <xs:element name="is-base-vf-module" type="xs:boolean">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by APP-C")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is base vf module")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="ipaddress-v4-oam-vip" type="xs:string" minOccurs="0">
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Oam V4 vip address of this vnfc")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="in-maint" type="xs:boolean">
+        <xs:element name="persona-model-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",requires="persona-model-version",visibility="deployment")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="is-closed-loop-disabled" type="xs:boolean">
+        <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether closed loop function is enabled on this node")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="persona-model-id")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="group-notation" type="xs:string" minOccurs="0">
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Group notation of VNFC")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dbAlias="model-version-id-local",dataCopy="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+        <xs:element name="widget-model-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="widget-model-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="contrail-service-instance-fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the Contrail unique ID for a service-instance")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -2459,662 +4568,636 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="vnfcs">
+  <xs:element name="vf-modules">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="virtual network components associated with a vserver from application controller.")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of vf-modules, a deployment unit of VNFCs")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:vnfc" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:vf-module" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="subnet">
+  <xs:element name="generic-vnf">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(indexedProps="subnet-id,subnet-name",nameProps="subnet-name",uniqueProps="subnet-id",dependentOn="l3-network",container="subnets")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="General purpose VNF",nameProps="vnf-name",indexedProps="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version",searchable="vnf-id,vnf-name,vnf-name2",uniqueProps="vnf-id",container="generic-vnfs",namespace="network",extendsFrom="vnf")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="subnet-id" type="xs:string">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Subnet ID, should be UUID.")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="subnet-name" type="xs:string" minOccurs="0">
+        <xs:element name="vnf-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name associated with the subnet.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of VNF.  This is unique across the graph.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="neutron-subnet-id" type="xs:string" minOccurs="0">
+        <xs:element name="vnf-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Neutron id of this subnet")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of VNF.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="gateway-address" type="xs:string" minOccurs="0">
+        <xs:element name="vnf-name2" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="gateway ip address")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="network-start-address" type="xs:string" minOccurs="0">
+        <xs:element name="vnf-type" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="network start address")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="cidr-mask" type="xs:string" minOccurs="0">
+        <xs:element name="service-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="cidr mask")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Unique identifier of service from ASDC")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="ip-version" type="xs:string" minOccurs="0">
+        <xs:element name="regional-resource-zone" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="ip version")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Regional way of organizing pservers, source of truth should define values")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="orchestration-status" type="xs:string" minOccurs="0">
+        <xs:element name="prov-status" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="dhcp-enabled" type="xs:boolean">
+        <xs:element name="operational-state" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="dhcp enabled")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational",dbAlias="operational-status")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="dhcp-start" type="xs:string" minOccurs="0">
+        <xs:element name="license-key" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the start address reserved for use by dhcp")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="License key")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="dhcp-end" type="xs:string" minOccurs="0">
+        <xs:element name="equipment-role" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the last address reserved for use by dhcp")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Client should send valid enumerated value")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, used by MSO.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element ref="tns:relationship-list" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="subnets">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="tns:subnet" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="ctag-assignment">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(indexedProps="vlan-id-inner",dependentOn="l3-network",container="ctag-assignments")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element name="vlan-id-inner" type="xs:unsignedInt">
+        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="id.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+        <xs:element name="mso-catalog-key" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element ref="tns:relationship-list" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="ctag-assignments">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="tns:ctag-assignment" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="segmentation-assignment">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Openstack segmentation assignment.",indexedProps="segmentation-id",dependentOn="l3-network",container="segmentation-assignments")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element name="segmentation-id" type="xs:string">
+        <xs:element name="management-option" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Route Table Reference id, UUID assigned to this instance.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="identifier of managed by company or customer")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+        <xs:element name="ipv4-oam-address" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Concurrency value")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element ref="tns:relationship-list" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="segmentation-assignments">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of openstack segmentation assignments")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element ref="tns:segmentation-assignment" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="l3-network">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Generic network definition",nameProps="network-name",indexedProps="heat-stack-id,network-uuid,service-id,network-id,network-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-network-fqdn",uniqueProps="network-id",container="l3-networks",namespace="network")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element name="network-id" type="xs:string">
+        <xs:element name="ipv4-loopback0-address" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Network ID, should be uuid. Unique across AAI.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="v4 Loopback0 address")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="network-name" type="xs:string">
+        <xs:element name="nm-lan-v6-address" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of the network, governed by some naming convention..")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="v6 Loopback address")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="network-type" type="xs:string" minOccurs="0">
+        <xs:element name="management-v6-address" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Type of the network - who defines these values?")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="v6 management address")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="network-role" type="xs:string" minOccurs="0">
+        <xs:element name="vcpu" type="xs:unsignedInt" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Role the network plans - who defines these values?")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="network-technology" type="xs:string" minOccurs="0">
+        <xs:element name="vcpu-units" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Network technology - who defines these values?")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="units associated with vcpu, used for VNFs with no vservers/flavors")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="neutron-network-id" type="xs:string" minOccurs="0">
+        <xs:element name="vmemory" type="xs:unsignedInt" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Neutron network id of this Interface")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="is-bound-to-vpn" type="xs:boolean">
+        <xs:element name="vmemory-units" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Set to true if bound to VPN")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="units associated with vmemory, used for VNFs with no vservers/flavors")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="service-id" type="xs:string" minOccurs="0">
+        <xs:element name="vdisk" type="xs:unsignedInt" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Unique identifier of service from SDC")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="network-role-instance" type="xs:unsignedInt" minOccurs="0">
+        <xs:element name="vdisk-units" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="network role instance")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="units associated with vdisk, used for VNFs with no vservers/flavors")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+        <xs:element name="in-maint" type="xs:boolean">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="orchestration-status" type="xs:string" minOccurs="0">
+        <xs:element name="is-closed-loop-disabled" type="xs:boolean">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether closed loop function is enabled on this node")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0">
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="mso-catalog-key" type="xs:string" minOccurs="0">
+        <xs:element name="summary-status" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="details regarding the generic-vnf operation")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="contrail-network-fqdn" type="xs:string" minOccurs="0">
+        <xs:element name="encrypted-access-flag" type="xs:boolean" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Contrail FQDN for the network")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="indicates whether generic-vnf access uses SSH")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="persona-model-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC model id for this resource or service model.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",requires="persona-model-version",visibility="deployment")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC model version for this resource or service model.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="persona-model-id")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="widget-model-id" type="xs:string" minOccurs="0">
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC data dictionary widget model. This maps directly to the AAI widget.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dbAlias="model-version-id-local",dataCopy="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="widget-model-version" type="xs:string" minOccurs="0">
+        <xs:element name="widget-model-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="physical-network-name" type="xs:string" minOccurs="0">
+        <xs:element name="widget-model-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name associated with the physical network.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="is-provider-network" type="xs:boolean">
+        <xs:element name="as-number" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not network is a provider network.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="as-number of the VNF")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="is-shared-network" type="xs:boolean">
+        <xs:element name="regional-resource-subzone" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not network is a shared network.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="represents sub zone of the rr plane")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="is-external-network" type="xs:boolean">
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
+        <xs:element ref="tns:lag-interfaces" minOccurs="0"/>
+        <xs:element ref="tns:vf-modules" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generic-vnfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of VNFs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:generic-vnf" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-link">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="LAG links can connect lag-interfaces",indexedProps="link-name",container="lag-links",namespace="network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not network is an external network.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Alphabetical concatenation of lag-interface names")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element ref="tns:subnets" minOccurs="0"/>
-        <xs:element ref="tns:ctag-assignments" minOccurs="0"/>
-        <xs:element ref="tns:segmentation-assignments" minOccurs="0"/>
-        <xs:element ref="tns:relationship-list" minOccurs="0">
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Relates to tenant (or is it a child of tenant)")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="l3-networks">
+  <xs:element name="lag-links">
     <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of link aggregation connections")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:l3-network" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:lag-link" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="vf-module">
+  <xs:element name="newvce">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="a deployment unit of VNFCs",indexedProps="vf-module-id,vf-module-name,heat-stack-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-service-instance-fqdn",dependentOn="generic-vnf",container="vf-modules")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce.",nameProps="vnf-name",indexedProps="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2",searchable="vnf-id2,vnf-name,vnf-name2",uniqueProps="vnf-id2",container="newvces",namespace="network")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="vf-module-id" type="xs:string">
+        <xs:element name="vnf-id2" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique ID of vf-module.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of VNF, can't use same attribute name right now until we promote this new object")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vf-module-name" type="xs:string" minOccurs="0">
+        <xs:element name="vnf-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of vf-module")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of VNF.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0">
+        <xs:element name="vnf-name2" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="orchestration-status" type="xs:string" minOccurs="0">
+        <xs:element name="vnf-type" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="orchestration status of this vf-module, mastered by MSO")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="is-base-vf-module" type="xs:boolean">
+        <xs:element name="prov-status" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is base vf module")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this VNF by BAU Service Assurance systems.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+        <xs:element name="operational-state" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational",dbAlias="operational-status")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="persona-model-id" type="xs:string" minOccurs="0">
+        <xs:element name="license-key" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC model id for this resource or service model.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="License key")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
+        <xs:element name="ipv4-oam-address" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC model version for this resource or service model.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address).")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="widget-model-id" type="xs:string" minOccurs="0">
+        <xs:element name="equipment-role" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC data dictionary widget model. This maps directly to the AAI widget.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Client should send valid enumerated value, e.g., VPE.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="widget-model-version" type="xs:string" minOccurs="0">
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="contrail-service-instance-fqdn" type="xs:string" minOccurs="0">
+        <xs:element name="ipv4-loopback0-address" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the Contrail unique ID for a service-instance")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="v4 Loopback0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, mastered by MSO.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="mso-catalog-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="vf-modules">
+  <xs:element name="newvces">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of vf-modules, a deployment unit of VNFCs")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce.")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:vf-module" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:newvce" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="generic-vnf">
+  <xs:element name="pnf">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="General purpose VNF",nameProps="vnf-name",indexedProps="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version",searchable="vnf-id,vnf-name,vnf-name2",uniqueProps="vnf-id",container="generic-vnfs",namespace="network",extendsFrom="vnf")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="PNF represents a physical network function. typically equipment used in the D1 world.",indexedProps="pnf-name,orchestration-status",uniqueProps="pnf-name",container="pnfs",namespace="network")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="vnf-id" type="xs:string">
+        <xs:element name="pnf-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of VNF.  This is unique across the graph.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="unique name of Physical Network Function.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vnf-name" type="xs:string">
+        <xs:element name="pnf-name2" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of VNF.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="name of Physical Network Function.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vnf-name2" type="xs:string" minOccurs="0">
+        <xs:element name="pnf-name2-source" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="source of name2")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vnf-type" type="xs:string">
+        <xs:element name="pnf-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="String capturing type of vnf, that was intended to identify the SDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as SDC matures.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="id of pnf")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="service-id" type="xs:string" minOccurs="0">
+        <xs:element name="equip-type" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Unique identifier of service from SDC")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="regional-resource-zone" type="xs:string" minOccurs="0">
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Regional way of organizing pservers, source of truth should define values")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="prov-status" type="xs:string" minOccurs="0">
+        <xs:element name="equip-model" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="operational-state" type="xs:string" minOccurs="0">
+        <xs:element name="management-option" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="identifier of managed by company or customer")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="license-key" type="xs:string" minOccurs="0">
+        <xs:element name="ipaddress-v4-oam" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="License key")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="ipv4-oam-address with new naming convention for IP addresses")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="equipment-role" type="xs:string" minOccurs="0">
+        <xs:element name="sw-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Client should send valid enumerated value")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="sw-version is the version of SW for the hosted application on the PNF.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="orchestration-status" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Orchestration status of this VNF, used by MSO.")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Heat stack id corresponding to this instance, managed by MSO")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="mso-catalog-key" type="xs:string" minOccurs="0">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Corresponds to the SDN-C catalog id used to configure this VCE")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="management-option" type="xs:string" minOccurs="0">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="identifier of managed by customer")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="ipv4-oam-address" type="xs:string" minOccurs="0">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf.")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="ipv4-loopback0-address" type="xs:string" minOccurs="0">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="v4 Loopback0 address")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="orchestration-status is the status of orchestration on the PNF.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="nm-lan-v6-address" type="xs:string" minOccurs="0">
+        <xs:element name="in-maint" type="xs:boolean">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="v6 Loopback address")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="management-v6-address" type="xs:string" minOccurs="0">
+        <xs:element name="frame-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="v6 management address")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="ID of the physical frame (relay rack) where pnf is installed.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vcpu" type="xs:unsignedInt" minOccurs="0">
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vcpu-units" type="xs:string" minOccurs="0">
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:p-interfaces" minOccurs="0"/>
+        <xs:element ref="tns:lag-interfaces" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pnfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of Physical Network Functions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:pnf" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="physical-link">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of physical connections, typically between p-interfaces",indexedProps="circuit-id,link-name",alternateKeys1="circuit-id",container="physical-links",namespace="network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="units associated with vcpu, used for VNFs with no vservers/flavors")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vmemory" type="xs:unsignedInt" minOccurs="0">
+        <xs:element name="speed-value" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vmemory-units" type="xs:string" minOccurs="0">
+        <xs:element name="speed-units" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="units associated with vmemory, used for VNFs with no vservers/flavors")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vdisk" type="xs:unsignedInt" minOccurs="0">
+        <xs:element name="circuit-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Circuit it")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="vdisk-units" type="xs:string" minOccurs="0">
+        <xs:element name="dual-mode" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="units associated with vdisk, used for VNFs with no vservers/flavors")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Dual access mode (e.g., primary, secondary")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="in-maint" type="xs:boolean">
+        <xs:element name="management-option" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="is-closed-loop-disabled" type="xs:boolean">
+        <xs:element name="service-provider-name" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether closed loop function is enabled on this node")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of the service Provider on this link.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -3125,212 +5208,221 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="summary-status" type="xs:string" minOccurs="0">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="details regarding the generic-vnf operation")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="encrypted-access-flag" type="xs:boolean" minOccurs="0">
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="physical-links">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of physical connections, typically between p-interfaces")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:physical-link" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vig-server">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607",indexedProps="vig-address-type",dependentOn="ipsec-configuration",container="vig-servers")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vig-address-type" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="indicates whether generic-vnf access uses SSH")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="indicates whether the VIG is for AVPN or INTERNET")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="entitlement-assignment-group-uuid" type="xs:string" minOccurs="0">
+        <xs:element name="ipaddress-v4-vig" type="xs:string" minOccurs="0" maxOccurs="unbounded">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="UUID of the Entitlement group used for licensing VNFs")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="v4 IP of the vig server")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="entitlement-resource-uuid" type="xs:string" minOccurs="0">
+        <xs:element name="ipaddress-v6-vig" type="xs:string" minOccurs="0" maxOccurs="unbounded">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="UUID of the specific entitlement resource")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="v6 IP of the vig server")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="license-assignment-group-uuid" type="xs:string" minOccurs="0">
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="UUID of the license assignment group")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="license-key-uuid" type="xs:string" minOccurs="0">
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vig-servers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vig-server" minOccurs="0" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ipsec-configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C",indexedProps="ipsec-configuration-id",uniqueProps="ipsec-configuration-id",container="ipsec-configurations",namespace="network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="ipsec-configuration-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="UUID of the actual license resource")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="UUID of this configuration")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="persona-model-id" type="xs:string" minOccurs="0">
+        <xs:element name="requested-vig-address-type" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC model id for this resource or service model.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Indicate the type of VIG server like AVPN, INTERNET, BOTH")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
+        <xs:element name="requested-encryption-strength" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC model version for this resource or service model.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="persona-model-customization-id" type="xs:string" minOccurs="0">
+        <xs:element name="requested-dmz-type" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="can offer a shared DMZ or a DMZ specific to a customer")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="widget-model-id" type="xs:string" minOccurs="0">
+        <xs:element name="shared-dmz-network-address" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC data dictionary widget model. This maps directly to the AAI widget.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Network address of shared DMZ")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="widget-model-version" type="xs:string" minOccurs="0">
+        <xs:element name="requested-customer-name" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="If the DMZ is a custom DMZ, this field will indicate the customer information")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="as-number" type="xs:string" minOccurs="0">
+        <xs:element name="ike-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="as-number of the VNF")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="can be 1 or 2")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="regional-resource-subzone" type="xs:string" minOccurs="0">
+        <xs:element name="ikev1-authentication" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="represents sub zone of the rr plane")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Contains values like md5, sha1, sha256, sha384")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element ref="tns:relationship-list" minOccurs="0"/>
-        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
-        <xs:element ref="tns:lag-interfaces" minOccurs="0"/>
-        <xs:element ref="tns:vf-modules" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="generic-vnfs">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of VNFs")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element ref="tns:generic-vnf" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="pnf">
-    <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="PNF represents a physical network function.",indexedProps="pnf-name,orchestration-status",uniqueProps="pnf-name",container="pnfs",namespace="network")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
-      <xs:sequence>
-        <xs:element name="pnf-name" type="xs:string">
+        <xs:element name="ikev1-encryption" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="unique name of Physical Network Function.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Encyption values like 3des-cbc, des-cbc, aes-128-cbc,?aes-192-cbc, aes-265-cbc")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="pnf-name2" type="xs:string" minOccurs="0">
+        <xs:element name="ikev1-dh-group" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="name of Physical Network Function.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="pnf-name2-source" type="xs:string" minOccurs="0">
+        <xs:element name="ikev1-am-group-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="source of name2")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Group name defined in VIG for clients using aggressive mode")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="pnf-id" type="xs:string" minOccurs="0">
+        <xs:element name="ikev1-am-password" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="id of pnf")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="pre-shared key for the above group name ")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="equip-type" type="xs:string" minOccurs="0">
+        <xs:element name="ikev1-sa-lifetime" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Lifetime for IKEv1 SA")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
+        <xs:element name="ipsec-authentication" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="md5, sha1, sha256, sha384")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="equip-model" type="xs:string" minOccurs="0">
+        <xs:element name="ipsec-encryption" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="3des-cbc, des-cbc, aes-128-cbc,?aes-192-cbc, aes-265-cbc")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="management-option" type="xs:string" minOccurs="0">
+        <xs:element name="ipsec-sa-lifetime" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="identifier of managed by customer")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Life time for IPSec SA")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="ipaddress-v4-oam" type="xs:string" minOccurs="0">
+        <xs:element name="ipsec-pfs" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="ipv4-oam-address with new naming convention for IP addresses")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="enable PFS or not")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="sw-version" type="xs:string" minOccurs="0">
+        <xs:element name="xauth-userid" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="sw-version is the version of SW for the hosted application on the PNF.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="user ID for xAuth, sm-user, ,nmteHostName")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="orchestration-status" type="xs:string" minOccurs="0">
+        <xs:element name="xauth-user-password" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="orchestration-status is the status of orchestration on the PNF.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Encrypted using the Juniper $9$ algorithm")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="in-maint" type="xs:boolean">
+        <xs:element name="dpd-interval" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(defaultValue="false",description="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="The time between DPD probe")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="frame-id" type="xs:string" minOccurs="0">
+        <xs:element name="dpd-frequency" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="ID of the physical frame (relay rack) where pnf is installed.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Maximum number of DPD before claiming the tunnel is down")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -3342,84 +5434,43 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
           </xs:annotation>
         </xs:element>
         <xs:element ref="tns:relationship-list" minOccurs="0"/>
-        <xs:element ref="tns:p-interfaces" minOccurs="0"/>
-        <xs:element ref="tns:lag-interfaces" minOccurs="0"/>
+        <xs:element ref="tns:vig-servers" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="pnfs">
+  <xs:element name="ipsec-configurations">
     <xs:complexType>
-      <xs:annotation>
-        <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of Physical Network Functions.")</annox:annotate>
-        </xs:appinfo>
-      </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:pnf" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:ipsec-configuration" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="physical-link">
+  <xs:element name="route-table-reference">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of physical connections, typically between p-interfaces",indexedProps="circuit-id,link-name",alternateKeys1="circuit-id",container="physical-links",namespace="network")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Openstack route table reference.",nameProps="route-table-reference-fqdn",uniqueProps="route-table-reference-id",indexedProps="route-table-reference-id,route-table-reference-fqdn",container="route-table-references",namespace="network")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element name="link-name" type="xs:string">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="speed-value" type="xs:string" minOccurs="0">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the numeric part of the speed")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="speed-units" type="xs:string" minOccurs="0">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="circuit-id" type="xs:string" minOccurs="0">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Circuit it")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="dual-mode" type="xs:string" minOccurs="0">
+        <xs:element name="route-table-reference-id" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Dual access mode (e.g., primary, secondary")</annox:annotate>
-            </xs:appinfo>
-          </xs:annotation>
-        </xs:element>
-        <xs:element name="management-option" type="xs:string" minOccurs="0">
-          <xs:annotation>
-            <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="To provide information on who manages this circuit. AAI or 3rd party transport provider")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Route Table Reference id, UUID assigned to this instance.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
-        <xs:element name="service-provider-name" type="xs:string" minOccurs="0">
+        <xs:element name="route-table-reference-fqdn" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Name of the service Provider on this link.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="FQDN entry in the route table.")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="resource-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Used for optimistic concurrency.  Must be empty on create, valid on update and delete.")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Concurrency value")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -3427,15 +5478,15 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="physical-links">
+  <xs:element name="route-table-references">
     <xs:complexType>
       <xs:annotation>
         <xs:appinfo>
-          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of physical connections, typically between p-interfaces")</annox:annotate>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Collection of openstack route table references")</annox:annotate>
         </xs:appinfo>
       </xs:annotation>
       <xs:sequence>
-        <xs:element ref="tns:physical-link" minOccurs="0" maxOccurs="unbounded"/>
+        <xs:element ref="tns:route-table-reference" minOccurs="0" maxOccurs="unbounded"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
@@ -3448,11 +5499,22 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
       </xs:annotation>
       <xs:sequence>
         <xs:element ref="tns:logical-links" minOccurs="0"/>
+        <xs:element ref="tns:site-pair-sets" minOccurs="0"/>
+        <xs:element ref="tns:vpn-bindings" minOccurs="0"/>
+        <xs:element ref="tns:vpls-pes" minOccurs="0"/>
+        <xs:element ref="tns:multicast-configurations" minOccurs="0"/>
+        <xs:element ref="tns:vces" minOccurs="0"/>
+        <xs:element ref="tns:vpes" minOccurs="0"/>
         <xs:element ref="tns:vnfcs" minOccurs="0"/>
         <xs:element ref="tns:l3-networks" minOccurs="0"/>
+        <xs:element ref="tns:network-policies" minOccurs="0"/>
         <xs:element ref="tns:generic-vnfs" minOccurs="0"/>
+        <xs:element ref="tns:lag-links" minOccurs="0"/>
+        <xs:element ref="tns:newvces" minOccurs="0"/>
         <xs:element ref="tns:pnfs" minOccurs="0"/>
         <xs:element ref="tns:physical-links" minOccurs="0"/>
+        <xs:element ref="tns:ipsec-configurations" minOccurs="0"/>
+        <xs:element ref="tns:route-table-references" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
@@ -3487,8 +5549,8 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="isParent" type="xs:boolean" minOccurs="0"/>
         <xs:element name="usesResource" type="xs:boolean" minOccurs="0"/>
         <xs:element name="hasDelTarget" type="xs:boolean" minOccurs="0"/>
-        <xs:element name="SVC-INFRA" type="xs:string" minOccurs="0"/>
-        <xs:element name="SVC-INFRA-REV" type="xs:string" minOccurs="0"/>
+        <xs:element name="SVC-INFRA" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="SVC-INFRA-REV" type="xs:boolean" minOccurs="0"/>
       </xs:sequence>
     </xs:complexType>
   </xs:element>
@@ -3513,55 +5575,6 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
       </xs:sequence>
     </xs:complexType>
   </xs:element>
-  <xs:element name="inventory-item-data">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="property-name" type="xs:string" minOccurs="0"/>
-        <xs:element name="property-value" type="xs:string" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="inventory-item">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="inventory-item-type" type="xs:string" minOccurs="0"/>
-        <xs:element name="inventory-item-link" type="xs:string" minOccurs="0"/>
-        <xs:element ref="tns:inventory-item-data" minOccurs="0" maxOccurs="unbounded"/>
-        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="tagged-inventory-item-list">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="tns:inventory-item" minOccurs="0" maxOccurs="unbounded"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="start-node-filter">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="property-name" type="xs:string" minOccurs="0"/>
-        <xs:element name="property-value" type="xs:string" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="include-node-filter">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="include-node-type" type="xs:string" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-  <xs:element name="secondary-filter">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="property-name" type="xs:string" minOccurs="0"/>
-        <xs:element name="filter-type" type="xs:string" minOccurs="0"/>
-        <xs:element name="property-value" type="xs:string" minOccurs="0"/>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
   <xs:element name="notification-event-header">
     <xs:complexType>
       <xs:sequence>
@@ -3696,4 +5709,22 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
       </xs:sequence>
     </xs:complexType>
   </xs:element>
+  <xs:element name="vnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.openecomp.aai.annotations.Metadata(description="Abstract vnf class",indexedProps="vnf-id",uniqueProps="vnf-id",inheritors="vce,vpe,generic-vnf",isAbstract="true")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(isKey=true,description="Unique id of VNF.  This is unique across the graph.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
 </xs:schema>
index 59be4f8..0b879d1 100644 (file)
@@ -2252,14 +2252,14 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="persona-model-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",visibility="deployment")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",requires="persona-model-version",visibility="deployment")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="persona-model-id")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -2399,14 +2399,14 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="persona-model-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",visibility="deployment")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",requires="persona-model-version",visibility="deployment")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="persona-model-id")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -2473,14 +2473,14 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="persona-model-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",visibility="deployment")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",requires="persona-model-version",visibility="deployment")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="persona-model-id")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -3346,14 +3346,14 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="persona-model-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",visibility="deployment")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",requires="persona-model-version",visibility="deployment")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="persona-model-id")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -4794,14 +4794,14 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="persona-model-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",visibility="deployment")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",requires="persona-model-version",visibility="deployment")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="persona-model-id")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -4988,14 +4988,14 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="persona-model-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",visibility="deployment")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",requires="persona-model-version",visibility="deployment")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="persona-model-id")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -5278,14 +5278,14 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="persona-model-id" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",visibility="deployment")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model id for this resource or service model.",dbAlias="model-invariant-id-local",requires="persona-model-version",visibility="deployment")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
         <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="deployment",requires="persona-model-id")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -5894,7 +5894,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="ikev1-encryption" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Encyption values like 3des-cbc, des-cbc, aes-128-cbc,Ā aes-192-cbc, aes-265-cbc")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Encyption values like 3des-cbc, des-cbc, aes-128-cbc,?aes-192-cbc, aes-265-cbc")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -5936,7 +5936,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="ipsec-encryption" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="3des-cbc, des-cbc, aes-128-cbc,Ā aes-192-cbc, aes-265-cbc")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="3des-cbc, des-cbc, aes-128-cbc,?aes-192-cbc, aes-265-cbc")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -5957,7 +5957,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="xauth-userid" type="xs:string" minOccurs="0">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="user ID for xAuth, sm-user, nmteHostName")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="user ID for xAuth, sm-user, ,nmteHostName")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
@@ -6130,7 +6130,7 @@ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
         <xs:element name="design-type" type="xs:string">
           <xs:annotation>
             <xs:appinfo>
-              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Design of zone [Medium/Large]")</annox:annotate>
+              <annox:annotate target="field">@org.openecomp.aai.annotations.Metadata(description="Design of zone [Medium/Large?]")</annox:annotate>
             </xs:appinfo>
           </xs:annotation>
         </xs:element>
index 7eddd10..0f724cf 100644 (file)
   -->
 
 <xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.openecomp.org.v10" xml-mapping-metadata-complete="true">
-       <xml-schema element-form-default="QUALIFIED">
-               <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v10" />
-       </xml-schema>
-       <java-types>
-               <java-type name="Inventory">
-                       <xml-root-element name="inventory" />
-                       <java-attributes>
-                               <xml-element java-attribute="search" name="search" type="inventory.aai.openecomp.org.v10.Search" />
-                               <xml-element java-attribute="actions" name="actions" type="inventory.aai.openecomp.org.v10.Actions" />
-                               <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.openecomp.org.v10.CloudInfrastructure" />
-                               <xml-element java-attribute="business" name="business" type="inventory.aai.openecomp.org.v10.Business" />
-                               <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.openecomp.org.v10.ServiceDesignAndCreation" />
-                               <xml-element java-attribute="network" name="network" type="inventory.aai.openecomp.org.v10.Network" />
-                               <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.openecomp.org.v10.AaiInternal" />
-                               <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.openecomp.org.v10.Nodes"/>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Nodes">
-                       <xml-root-element name="nodes" />
-               </java-type>
-               <java-type name="Search">
-                       <xml-root-element name="search" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.openecomp.org.v10.EdgeTagQueryResult" />
-                               <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.openecomp.org.v10.EdgeTagQueryRequest" />
-                               <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.openecomp.org.v10.SearchResults" />
-                               <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.openecomp.org.v10.SdnZoneResponse" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="EdgeTagQueryResult">
-                       <xml-root-element name="edge-tag-query-result" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v10.TaggedInventoryItemList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="TaggedInventoryItemList">
-                       <xml-root-element name="tagged-inventory-item-list" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.openecomp.org.v10.InventoryItem" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryItem">
-                       <xml-root-element name="inventory-item" />
-                       <java-attributes>
-                               <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String" />
-                               <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.openecomp.org.v10.InventoryItemData" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v10.TaggedInventoryItemList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryItemData">
-                       <xml-root-element name="inventory-item-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="EdgeTagQueryRequest">
-                       <xml-root-element name="edge-tag-query-request" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String" />
-                               <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String" />
-                               <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.openecomp.org.v10.StartNodeFilter" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.openecomp.org.v10.IncludeNodeFilter" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.openecomp.org.v10.SecondaryFilter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="StartNodeFilter">
-                       <xml-root-element name="start-node-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="IncludeNodeFilter">
-                       <xml-root-element name="include-node-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SecondaryFilter">
-                       <xml-root-element name="secondary-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SearchResults">
-                       <xml-root-element name="search-results" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.openecomp.org.v10.ResultData" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ResultData">
-                       <xml-root-element name="result-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The specific type of node in the A&amp;AI graph" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The URL to the specific resource" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SdnZoneResponse">
-                       <xml-root-element name="sdn-zone-response" />
-                       <java-attributes>
-                               <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v10.OamNetworks" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.openecomp.org.v10.AzAndDvsSwitches" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="AzAndDvsSwitches">
-                       <xml-root-element name="az-and-dvs-switches" />
-                       <java-attributes>
-                               <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v10.DvsSwitches" />
-                               <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v10.AvailabilityZone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Actions">
-                       <xml-properties>
-                               <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)." />
-                       </xml-properties>
-                       <xml-root-element name="actions" />
-                       <java-attributes>
-                               <xml-element java-attribute="update" name="update" type="inventory.aai.openecomp.org.v10.Update" />
-                               <xml-element java-attribute="notify" name="notify" type="inventory.aai.openecomp.org.v10.Notify" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Update">
-                       <xml-properties>
-                               <xml-property name="description" value="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team." />
-                       </xml-properties>
-                       <xml-root-element name="update" />
-                       <java-attributes>
-                               <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.openecomp.org.v10.UpdateNodeKey" />
-                               <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.openecomp.org.v10.Action" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Action">
-                       <xml-root-element name="action" />
-                       <java-attributes>
-                               <xml-element java-attribute="actionType" name="action-type" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.openecomp.org.v10.ActionData" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ActionData">
-                       <xml-root-element name="action-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="UpdateNodeKey">
-                       <xml-root-element name="update-node-key" />
-                       <java-attributes>
-                               <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
-                               <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Notify">
-                       <xml-root-element name="notify" />
-                       <java-attributes>
-                               <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String" />
-                               <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.openecomp.org.v10.KeyData" />
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="KeyData">
-                       <xml-root-element name="key-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
-                               <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CloudInfrastructure">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for cloud infrastructure." />
-                       </xml-properties>
-                       <xml-root-element name="cloud-infrastructure" />
-                       <java-attributes>
-                               <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.openecomp.org.v10.Complexes" />
-                               <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.openecomp.org.v10.CloudRegions" />
-                               <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.openecomp.org.v10.NetworkProfiles" />
-                               <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.openecomp.org.v10.Pservers" />
-                               <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.openecomp.org.v10.VirtualDataCenters" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CloudRegions">
-                       <xml-root-element name="cloud-regions" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.openecomp.org.v10.CloudRegion" />
-                       </java-attributes>
-            <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CloudRegion">
-                       <xml-root-element name="cloud-region" />
-                       <java-attributes>
-                               <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the cloud (e.g., openstack)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Software version employed at the site.  NOTE - THIS FIELD IS NOT KEPT UP TO DATE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL of the keystone identity service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Zone where the cloud is homed.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="complex name for cloud-region instance.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.openecomp.org.v10.VolumeGroups" />
-                               <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.openecomp.org.v10.Tenants" />
-                               <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.openecomp.org.v10.Flavors" />
-                               <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.openecomp.org.v10.GroupAssignments" />
-                               <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.openecomp.org.v10.Snapshots" />
-                               <xml-element java-attribute="images" name="images" type="inventory.aai.openecomp.org.v10.Images" />
-                               <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v10.DvsSwitches" />
-                               <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v10.OamNetworks" />
-                               <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.openecomp.org.v10.AvailabilityZones" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&amp;Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&amp;T's AIC." />
-                               <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
-                               <xml-property name="nameProps" value="owner-defined-type" />
-                               <xml-property name="container" value="cloud-regions" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="VolumeGroups">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of persistent block-level storage." />
-                       </xml-properties>
-                       <xml-root-element name="volume-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.openecomp.org.v10.VolumeGroup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VolumeGroup">
-                       <xml-root-element name="volume-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of volume-group." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeGroupName" name="volume-group-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the volume group." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this volume-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this volume-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfModuleModelCustomizationId" name="vf-module-model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="helps relate the volume group to the vf-module whose components will require the volume group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Persistent block-level storage." />
-                               <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id" />
-                               <xml-property name="searchable" value="volume-group-id,volume-group-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="volume-groups" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="RelationshipList">
-                       <xml-root-element name="relationship-list" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.openecomp.org.v10.Relationship" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Relationship">
-                       <xml-root-element name="relationship" />
-                       <java-attributes>
-                               <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to the object in A&amp;AI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.openecomp.org.v10.RelationshipData" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.openecomp.org.v10.RelatedToProperty" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedToProperty">
-                       <xml-root-element name="related-to-property" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Key part of a key/value pair" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value part of a key/value pair" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelationshipData">
-                       <xml-root-element name="relationship-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value of the attribute." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Complexes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
-                       </xml-properties>
-                       <xml-root-element name="complexes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.openecomp.org.v10.Complex" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Complex">
-                       <xml-root-element name="complex" />
-                       <java-attributes>
-                               <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Data center code which can be an alternate way to identify a complex" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Gamma complex name for LCP instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL of the keystone identity service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type, e.g., central office, data center." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="street2" name="street2" type="java.lang.String" />
-                               <xml-element java-attribute="city" name="city" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="state" name="state" type="java.lang.String" />
-                               <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="country" name="country" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="region" name="region" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="latitude" name="latitude" type="java.lang.String" />
-                               <xml-element java-attribute="longitude" name="longitude" type="java.lang.String" />
-                               <xml-element java-attribute="elevation" name="elevation" type="java.lang.String" />
-                               <xml-element java-attribute="lata" name="lata" type="java.lang.String" />
-                               <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.openecomp.org.v10.CtagPools" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
-                               <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id" />
-                               <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code" />
-                               <xml-property name="uniqueProps" value="physical-location-id" />
-                               <xml-property name="container" value="complexes" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CtagPools">
-                       <xml-root-element name="ctag-pools" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.openecomp.org.v10.CtagPool" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CtagPool">
-                       <xml-root-element name="ctag-pool" />
-                       <java-attributes>
-                               <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The Target provider edge router" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the availability zone" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Describes what the intended purpose of this pool is." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Comma separated list of ctags" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose." />
-                               <xml-property name="indexedProps" value="availability-zone-name" />
-                               <xml-property name="dependentOn" value="complex" />
-                               <xml-property name="container" value="ctag-pools" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Tenants">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack tenants." />
-                       </xml-properties>
-                       <xml-root-element name="tenants" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.openecomp.org.v10.Tenant" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Tenant">
-                       <xml-root-element name="tenant" />
-                       <java-attributes>
-                               <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id relative to the cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Readable name of tenant" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.openecomp.org.v10.Vservers" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack tenant" />
-                               <xml-property name="nameProps" value="tenant-name" />
-                               <xml-property name="indexedProps" value="tenant-name,tenant-id" />
-                               <xml-property name="searchable" value="tenant-id,tenant-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="tenants" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vservers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs." />
-                       </xml-properties>
-                       <xml-root-element name="vservers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.openecomp.org.v10.Vserver" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vserver">
-                       <xml-root-element name="vserver" />
-                       <java-attributes>
-                               <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier for this vserver relative to its tenant" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of vserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternative name of vserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.openecomp.org.v10.Volumes" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual Servers, aka virtual machine or VM." />
-                               <xml-property name="nameProps" value="vserver-name" />
-                               <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2" />
-                               <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2" />
-                               <xml-property name="dependentOn" value="tenant" />
-                               <xml-property name="container" value="vservers" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="LInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of logical interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="l-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.openecomp.org.v10.LInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LInterface">
-                       <xml-root-element name="l-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name given to the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="MAC address for the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Human friendly text regarding this interface." />
-                                       </xml-properties>
-                               </xml-element>                  
-                               <xml-element java-attribute="isPortMirrored" name="is-port-mirrored" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not port is a mirrored." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.openecomp.org.v10.Vlans" />
-                               <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.openecomp.org.v10.SriovVfs" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv4AddressList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv6AddressList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Logical interfaces, e.g., a vnic." />
-                               <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name" />
-                               <xml-property name="dependentOn" value="generic-vnf,newvce,vpe,p-interface,vserver,lag-interface" />
-                               <xml-property name="container" value="l-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SriovVfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of SR-IOV Virtual Functions." />
-                       </xml-properties>
-                       <xml-root-element name="sriov-vfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.openecomp.org.v10.SriovVf" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="SriovVf">
-                       <xml-root-element name="sriov-vf" />
-                       <java-attributes>
-                               <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="PCI ID used to identify the sriov-vf" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option is used to set the link status.  Valid values as of 1607 are on, off, and auto." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)" />
-                               <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id" />
-                               <xml-property name="dependentOn" value="l-interface" />
-                               <xml-property name="container" value="sriov-vfs" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3InterfaceIpv4AddressList">
-                       <xml-root-element name="l3-interface-ipv4-address-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IP address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length, 32 for single address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator of fixed or floating address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPv4 Address Range" />
-                               <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
-                               <xml-property name="dependentOn" value="vlan,l-interface" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vlans">
-                       <xml-root-element name="vlans" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.openecomp.org.v10.Vlan" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vlan">
-                       <xml-root-element name="vlan" />
-                       <java-attributes>
-                               <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String that identifies the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to describe (the service associated with) the vlan" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="vpnId" name="vpn-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan" />
-                                               <xml-property name="dbAlias" value="vpn-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C." />
-                                       </xml-properties>
-                               </xml-element>
-                                       <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>                  
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv4AddressList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv6AddressList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Definition of vlan" />
-                               <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-id" />
-                               <xml-property name="uniqueProps" value="vpn-id" />
-                               <xml-property name="dependentOn" value="l-interface" />
-                               <xml-property name="container" value="vlans" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3InterfaceIpv6AddressList">
-                       <xml-root-element name="l3-interface-ipv6-address-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IP address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length, 128 for single address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator of fixed or floating address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPv6 Address Range" />
-                               <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
-                               <xml-property name="dependentOn" value="vlan,l-interface" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Volumes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of ephemeral Block storage volumes." />
-                       </xml-properties>
-                       <xml-root-element name="volumes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.openecomp.org.v10.Volume" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Volume">
-                       <xml-root-element name="volume" />
-                       <java-attributes>
-                               <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of block storage volume relative to the vserver." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Ephemeral Block storage volume." />
-                               <xml-property name="indexedProps" value="volume-id" />
-                               <xml-property name="dependentOn" value="vserver" />
-                               <xml-property name="container" value="volumes" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Flavors">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack flavors." />
-                       </xml-properties>
-                       <xml-root-element name="flavors" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.openecomp.org.v10.Flavor" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Flavor">
-                       <xml-root-element name="flavor" />
-                       <java-attributes>
-                               <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Flavor id, expected to be unique across cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Flavor name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number of CPUs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Amount of memory" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Disk space" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Amount of ephemeral disk space" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="amount of swap space allocation" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack flavor." />
-                               <xml-property name="nameProps" value="flavor-name" />
-                               <xml-property name="indexedProps" value="flavor-name,flavor-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="flavors" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Snapshots">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack snapshots" />
-                       </xml-properties>
-                       <xml-root-element name="snapshots" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.openecomp.org.v10.Snapshot" />
-                       </java-attributes>              
-               </java-type>
-               
-               <java-type name="Snapshot">
-                       <xml-root-element name="snapshot" />
-                       <java-attributes>
-                               <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Snapshot name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Operating system architecture" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The operating system version as specified by the distributor." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />                              
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack snapshot" />
-                               <xml-property name="nameProps" value="snapshot-name" />
-                               <xml-property name="uniqueProps" value="snapshot-id" />
-                               <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="snapshots" />
-                       </xml-properties>       
-               </java-type>
-               
-               <java-type name="GroupAssignments">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack group assignments" />
-                       </xml-properties>
-                       <xml-root-element name="group-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.openecomp.org.v10.GroupAssignment" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="GroupAssignment">
-                       <xml-root-element name="group-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group id, expected to be unique across cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group type - the type of group this instance refers to" />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group name - name assigned to the group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group description - description of the group" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>          
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)." />
-                               <xml-property name="nameProps" value="group-name" />
-                               <xml-property name="indexedProps" value="group-id,group-type,group-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="group-assignments" />
-                       </xml-properties>
-               </java-type>                    
-
-               <java-type name="Images">
-                       <xml-properties>
-                               <xml-property name="description" value="Collectio of Openstack images." />
-                       </xml-properties>
-                       <xml-root-element name="images" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.openecomp.org.v10.Image" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Image">
-                       <xml-root-element name="image" />
-                       <java-attributes>
-                               <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Image id, expected to be unique across cloud region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Image name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Operating system architecture." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The operating system version as specified by the distributor." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack image." />
-                               <xml-property name="nameProps" value="image-name" />
-                               <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="images" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Metadata">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of metadatum (key/value pairs)" />
-                       </xml-properties>
-                       <xml-root-element name="metadata" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.openecomp.org.v10.Metadatum" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Metadatum">
-                       <xml-root-element name="metadatum" />
-                       <java-attributes>
-                               <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Key/value pairs" />
-                               <xml-property name="indexedProps" value="metaname" />
-                               <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model" />
-                               <xml-property name="container" value="metadata" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="DvsSwitches">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and VPEs." />
-                       </xml-properties>
-                       <xml-root-element name="dvs-switches" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.openecomp.org.v10.DvsSwitch" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="DvsSwitch">
-                       <xml-root-element name="dvs-switch" />
-                       <java-attributes>
-                               <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="DVS switch name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL used to reach the vcenter" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs.  A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. " />
-                               <xml-property name="indexedProps" value="vcenter-url,switch-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="dvs-switches" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="NetworkProfiles">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of network profiles" />
-                       </xml-properties>
-                       <xml-root-element name="network-profiles" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.openecomp.org.v10.NetworkProfile" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NetworkProfile">
-                       <xml-root-element name="network-profile" />
-                       <java-attributes>
-                               <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique name of network profile." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encrypted SNMP community string" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Network profile populated by SDN-GP for SNMP" />
-                               <xml-property name="indexedProps" value="nm-profile-name" />
-                               <xml-property name="container" value="network-profiles" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pservers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of compute hosts." />
-                       </xml-properties>
-                       <xml-root-element name="pservers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.openecomp.org.v10.Pserver" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pserver">
-                       <xml-root-element name="pserver" />
-                       <java-attributes>
-                               <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value from executing hostname on the compute node." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="PTNII name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number of cpus" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Disk size, in GBs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="RAM size, in MBs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Fully-qualified domain name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Serial number, may be queried" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 OAM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of Pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="internet topology of Pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="alternative pserver name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="purpose of pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v10.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver." />
-                               <xml-property name="nameProps" value="pserver-name2" />
-                               <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2,inv-status" />
-                               <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address" />
-                               <xml-property name="container" value="pservers" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="p-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.openecomp.org.v10.PInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PInterface">
-                       <xml-root-element name="p-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name that identifies the physical interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Nature of the services and connectivity on this port." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="CLEI or other specification for p-interface hardware." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role specification for p-interface hardware." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates the physical properties of the interface." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Physical interface (e.g., nic)" />
-                               <xml-property name="indexedProps" value="interface-name,prov-status" />
-                               <xml-property name="nameProps" value="prov-status" />
-                               <xml-property name="dependentOn" value="vpls-pe,pserver,pnf" />
-                               <xml-property name="container" value="p-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="LagInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of link aggregate interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="lag-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.openecomp.org.v10.LagInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LagInterface">
-                       <xml-root-element name="lag-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name that identifies the link aggregate interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Human friendly text regarding this interface." />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Link aggregate interface" />
-                               <xml-property name="indexedProps" value="interface-name,interface-id,interface-role" />
-                               <xml-property name="dependentOn" value="generic-vnf,pserver,vpe,vpls-pe,pnf" />
-                               <xml-property name="container" value="lag-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="OamNetworks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly.  Do not use for new purposes. " />
-                       </xml-properties>
-                       <xml-root-element name="oam-networks" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.openecomp.org.v10.OamNetwork" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="OamNetwork">
-                       <xml-root-element name="oam-network" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the network. Unique across a cloud-region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="cvlan-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="OAM network, to be deprecated shortly.  Do not use for new purposes. " />
-                               <xml-property name="nameProps" value="network-name" />
-                               <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="oam-networks" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="AvailabilityZones">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of availability zones" />
-                       </xml-properties>
-                       <xml-root-element name="availability-zones" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v10.AvailabilityZone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="AvailabilityZone">
-                       <xml-root-element name="availability-zone" />
-                       <java-attributes>
-                               <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the availability zone.  Unique across a cloud region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of hypervisor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers" />
-                               <xml-property name="indexedProps" value="availability-zone-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="availability-zones" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VirtualDataCenters">
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
-                       </xml-properties>
-                       <xml-root-element name="virtual-data-centers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.openecomp.org.v10.VirtualDataCenter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VirtualDataCenter">
-                       <xml-root-element name="virtual-data-center" />
-                       <java-attributes>
-                               <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of the vdc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the virtual data center" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
-                               <xml-property name="nameProps" value="vdc-name" />
-                               <xml-property name="indexedProps" value="vdc-name,vdc-id" />
-                               <xml-property name="container" value="virtual-data-centers" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-
-
-
-               <java-type name="Business">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for business related constructs" />
-                       </xml-properties>
-                       <xml-root-element name="business" />
-                       <java-attributes>
-                               <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.openecomp.org.v10.Connectors" />
-                               <xml-element java-attribute="customers" name="customers" type="inventory.aai.openecomp.org.v10.Customers" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Connectors">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
-                       </xml-properties>
-                       <xml-root-element name="connectors" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.openecomp.org.v10.Connector" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Connector">
-                       <xml-root-element name="connector" />
-                       <java-attributes>
-                               <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of resource instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
-                               <xml-property name="indexedProps" value="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version" />
-                               <xml-property name="container" value="connectors" />
-                               <xml-property name="namespace" value="business" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Customers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information." />
-                       </xml-properties>
-                       <xml-root-element name="customers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.openecomp.org.v10.Customer" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Customer">
-                       <xml-root-element name="customer" />
-                       <java-attributes>
-                               <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers." />
-                                               <xml-property name="defaultValue" value="CUST" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.openecomp.org.v10.ServiceSubscriptions" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="customer identifiers to provide linkage back to BSS information." />
-                               <xml-property name="nameProps" value="subscriber-name" />
-                               <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type" />
-                               <xml-property name="searchable" value="global-customer-id,subscriber-name" />
-                               <xml-property name="uniqueProps" value="global-customer-id" />
-                               <xml-property name="container" value="customers" />
-                               <xml-property name="namespace" value="business" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceSubscriptions">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of objects that group service instances." />
-                       </xml-properties>
-                       <xml-root-element name="service-subscriptions" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.openecomp.org.v10.ServiceSubscription" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceSubscription">
-                       <xml-root-element name="service-subscription" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
+    <xml-schema element-form-default="QUALIFIED">
+        <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v10" />
+    </xml-schema>
+    <java-types>
+        <java-type name="Inventory">
+            <xml-root-element name="inventory" />
+            <java-attributes>
+                <xml-element java-attribute="search" name="search" type="inventory.aai.openecomp.org.v10.Search" />
+                <xml-element java-attribute="actions" name="actions" type="inventory.aai.openecomp.org.v10.Actions" />
+                <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.openecomp.org.v10.CloudInfrastructure" />
+                <xml-element java-attribute="business" name="business" type="inventory.aai.openecomp.org.v10.Business" />
+                <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.openecomp.org.v10.ServiceDesignAndCreation" />
+                <xml-element java-attribute="network" name="network" type="inventory.aai.openecomp.org.v10.Network" />
+                <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.openecomp.org.v10.AaiInternal" />
+                <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.openecomp.org.v10.Nodes"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Nodes">
+            <xml-root-element name="nodes" />
+        </java-type>
+        <java-type name="Search">
+            <xml-root-element name="search" />
+            <java-attributes>
+                <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.openecomp.org.v10.EdgeTagQueryResult" />
+                <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.openecomp.org.v10.EdgeTagQueryRequest" />
+                <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.openecomp.org.v10.SearchResults" />
+                <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.openecomp.org.v10.SdnZoneResponse" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="EdgeTagQueryResult">
+            <xml-root-element name="edge-tag-query-result" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v10.TaggedInventoryItemList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="TaggedInventoryItemList">
+            <xml-root-element name="tagged-inventory-item-list" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.openecomp.org.v10.InventoryItem" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="InventoryItem">
+            <xml-root-element name="inventory-item" />
+            <java-attributes>
+                <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String" />
+                <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.openecomp.org.v10.InventoryItemData" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v10.TaggedInventoryItemList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="InventoryItemData">
+            <xml-root-element name="inventory-item-data" />
+            <java-attributes>
+                <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+                <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="EdgeTagQueryRequest">
+            <xml-root-element name="edge-tag-query-request" />
+            <java-attributes>
+                <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String" />
+                <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String" />
+                <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.openecomp.org.v10.StartNodeFilter" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.openecomp.org.v10.IncludeNodeFilter" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.openecomp.org.v10.SecondaryFilter" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="StartNodeFilter">
+            <xml-root-element name="start-node-filter" />
+            <java-attributes>
+                <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+                <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="IncludeNodeFilter">
+            <xml-root-element name="include-node-filter" />
+            <java-attributes>
+                <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SecondaryFilter">
+            <xml-root-element name="secondary-filter" />
+            <java-attributes>
+                <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+                <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String" />
+                <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SearchResults">
+            <xml-root-element name="search-results" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.openecomp.org.v10.ResultData" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ResultData">
+            <xml-root-element name="result-data" />
+            <java-attributes>
+                <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The specific type of node in the A&amp;AI graph" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The URL to the specific resource" />
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SdnZoneResponse">
+            <xml-root-element name="sdn-zone-response" />
+            <java-attributes>
+                <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v10.OamNetworks" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.openecomp.org.v10.AzAndDvsSwitches" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="AzAndDvsSwitches">
+            <xml-root-element name="az-and-dvs-switches" />
+            <java-attributes>
+                <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v10.DvsSwitches" />
+                <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v10.AvailabilityZone" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Actions">
+            <xml-properties>
+                <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)." />
+            </xml-properties>
+            <xml-root-element name="actions" />
+            <java-attributes>
+                <xml-element java-attribute="update" name="update" type="inventory.aai.openecomp.org.v10.Update" />
+                <xml-element java-attribute="notify" name="notify" type="inventory.aai.openecomp.org.v10.Notify" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Update">
+            <xml-properties>
+                <xml-property name="description" value="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team." />
+            </xml-properties>
+            <xml-root-element name="update" />
+            <java-attributes>
+                <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.openecomp.org.v10.UpdateNodeKey" />
+                <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.openecomp.org.v10.Action" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Action">
+            <xml-root-element name="action" />
+            <java-attributes>
+                <xml-element java-attribute="actionType" name="action-type" type="java.lang.String" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.openecomp.org.v10.ActionData" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ActionData">
+            <xml-root-element name="action-data" />
+            <java-attributes>
+                <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+                <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="UpdateNodeKey">
+            <xml-root-element name="update-node-key" />
+            <java-attributes>
+                <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
+                <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Notify">
+            <xml-root-element name="notify" />
+            <java-attributes>
+                <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String" />
+                <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String" />
+                <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.openecomp.org.v10.KeyData" />
+                <xml-element java-attribute="selflink" name="selflink" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="KeyData">
+            <xml-root-element name="key-data" />
+            <java-attributes>
+                <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
+                <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="CloudInfrastructure">
+            <xml-properties>
+                <xml-property name="description" value="Namespace for cloud infrastructure." />
+            </xml-properties>
+            <xml-root-element name="cloud-infrastructure" />
+            <java-attributes>
+                <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.openecomp.org.v10.Complexes" />
+                <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.openecomp.org.v10.CloudRegions" />
+                <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.openecomp.org.v10.NetworkProfiles" />
+                <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.openecomp.org.v10.Pservers" />
+                <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.openecomp.org.v10.VirtualDataCenters" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="CloudRegions">
+            <xml-root-element name="cloud-regions" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.openecomp.org.v10.CloudRegion" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="CloudRegion">
+            <xml-root-element name="cloud-region" />
+            <java-attributes>
+                <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Type of the cloud (e.g., openstack)" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Software version employed at the site.  NOTE - THIS FIELD IS NOT KEPT UP TO DATE." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL of the keystone identity service" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Zone where the cloud is homed.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="complex name for cloud-region instance.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.openecomp.org.v10.VolumeGroups" />
+                <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.openecomp.org.v10.Tenants" />
+                <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.openecomp.org.v10.Flavors" />
+                <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.openecomp.org.v10.GroupAssignments" />
+                <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.openecomp.org.v10.Snapshots" />
+                <xml-element java-attribute="images" name="images" type="inventory.aai.openecomp.org.v10.Images" />
+                <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v10.DvsSwitches" />
+                <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v10.OamNetworks" />
+                <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.openecomp.org.v10.AvailabilityZones" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&amp;Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&amp;T's AIC." />
+                <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
+                <xml-property name="nameProps" value="owner-defined-type" />
+                <xml-property name="container" value="cloud-regions" />
+                <xml-property name="namespace" value="cloud-infrastructure" />
+            </xml-properties>
+        </java-type>
+        <java-type name="VolumeGroups">
+            <xml-properties>
+                <xml-property name="description" value="Collection of persistent block-level storage." />
+            </xml-properties>
+            <xml-root-element name="volume-groups" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.openecomp.org.v10.VolumeGroup" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VolumeGroup">
+            <xml-root-element name="volume-group" />
+            <java-attributes>
+                <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of volume-group." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="volumeGroupName" name="volume-group-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the volume group." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Heat stack id corresponding to this volume-group" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this volume-group" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfModuleModelCustomizationId" name="vf-module-model-customization-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="helps relate the volume group to the vf-module whose components will require the volume group" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Persistent block-level storage." />
+                <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id" />
+                <xml-property name="searchable" value="volume-group-id,volume-group-name" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="volume-groups" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="RelationshipList">
+            <xml-root-element name="relationship-list" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.openecomp.org.v10.Relationship" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Relationship">
+            <xml-root-element name="relationship" />
+            <java-attributes>
+                <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to the object in A&amp;AI." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.openecomp.org.v10.RelationshipData" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.openecomp.org.v10.RelatedToProperty" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="RelatedToProperty">
+            <xml-root-element name="related-to-property" />
+            <java-attributes>
+                <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Key part of a key/value pair" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Value part of a key/value pair" />
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="RelationshipData">
+            <xml-root-element name="relationship-data" />
+            <java-attributes>
+                <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Value of the attribute." />
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Complexes">
+            <xml-properties>
+                <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
+            </xml-properties>
+            <xml-root-element name="complexes" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.openecomp.org.v10.Complex" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Complex">
+            <xml-root-element name="complex" />
+            <java-attributes>
+                <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Data center code which can be an alternate way to identify a complex" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Gamma complex name for LCP instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL of the keystone identity service" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Type, e.g., central office, data center." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String" />
+                <xml-element java-attribute="street2" name="street2" type="java.lang.String" />
+                <xml-element java-attribute="city" name="city" required="true" type="java.lang.String" />
+                <xml-element java-attribute="state" name="state" type="java.lang.String" />
+                <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String" />
+                <xml-element java-attribute="country" name="country" required="true" type="java.lang.String" />
+                <xml-element java-attribute="region" name="region" required="true" type="java.lang.String" />
+                <xml-element java-attribute="latitude" name="latitude" type="java.lang.String" />
+                <xml-element java-attribute="longitude" name="longitude" type="java.lang.String" />
+                <xml-element java-attribute="elevation" name="elevation" type="java.lang.String" />
+                <xml-element java-attribute="lata" name="lata" type="java.lang.String" />
+                <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.openecomp.org.v10.CtagPools" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
+                <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id" />
+                <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code" />
+                <xml-property name="uniqueProps" value="physical-location-id" />
+                <xml-property name="container" value="complexes" />
+                <xml-property name="namespace" value="cloud-infrastructure" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="CtagPools">
+            <xml-root-element name="ctag-pools" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.openecomp.org.v10.CtagPool" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="CtagPool">
+            <xml-root-element name="ctag-pool" />
+            <java-attributes>
+                <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="The Target provider edge router" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the availability zone" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Describes what the intended purpose of this pool is." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Comma separated list of ctags" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose." />
+                <xml-property name="indexedProps" value="availability-zone-name" />
+                <xml-property name="dependentOn" value="complex" />
+                <xml-property name="container" value="ctag-pools" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Tenants">
+            <xml-properties>
+                <xml-property name="description" value="Collection of openstack tenants." />
+            </xml-properties>
+            <xml-root-element name="tenants" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.openecomp.org.v10.Tenant" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Tenant">
+            <xml-root-element name="tenant" />
+            <java-attributes>
+                <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id relative to the cloud-region." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Readable name of tenant" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.openecomp.org.v10.Vservers" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Openstack tenant" />
+                <xml-property name="nameProps" value="tenant-name" />
+                <xml-property name="indexedProps" value="tenant-name,tenant-id" />
+                <xml-property name="searchable" value="tenant-id,tenant-name" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="tenants" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Vservers">
+            <xml-properties>
+                <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs." />
+            </xml-properties>
+            <xml-root-element name="vservers" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.openecomp.org.v10.Vserver" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Vserver">
+            <xml-root-element name="vserver" />
+            <java-attributes>
+                <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier for this vserver relative to its tenant" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of vserver" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Alternative name of vserver" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.openecomp.org.v10.Volumes" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Virtual Servers, aka virtual machine or VM." />
+                <xml-property name="nameProps" value="vserver-name" />
+                <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2" />
+                <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2" />
+                <xml-property name="dependentOn" value="tenant" />
+                <xml-property name="container" value="vservers" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="LInterfaces">
+            <xml-properties>
+                <xml-property name="description" value="Collection of logical interfaces." />
+            </xml-properties>
+            <xml-root-element name="l-interfaces" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.openecomp.org.v10.LInterface" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="LInterface">
+            <xml-root-element name="l-interface" />
+            <java-attributes>
+                <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name given to the interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ID of interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="MAC address for the interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the network" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Human friendly text regarding this interface." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="isPortMirrored" name="is-port-mirrored" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="boolean indicatating whether or not port is a mirrored." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.openecomp.org.v10.Vlans" />
+                <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.openecomp.org.v10.SriovVfs" />
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv4AddressList" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv6AddressList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Logical interfaces, e.g., a vnic." />
+                <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name" />
+                <xml-property name="dependentOn" value="generic-vnf,newvce,vpe,p-interface,vserver,lag-interface" />
+                <xml-property name="container" value="l-interfaces" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="SriovVfs">
+            <xml-properties>
+                <xml-property name="description" value="Collection of SR-IOV Virtual Functions." />
+            </xml-properties>
+            <xml-root-element name="sriov-vfs" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.openecomp.org.v10.SriovVf" />
+            </java-attributes>
+        </java-type>
+        <java-type name="SriovVf">
+            <xml-root-element name="sriov-vf" />
+            <java-attributes>
+                <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="PCI ID used to identify the sriov-vf" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This option is used to set the link status.  Valid values as of 1607 are on, off, and auto." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron network id of the interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)" />
+                <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id" />
+                <xml-property name="dependentOn" value="l-interface" />
+                <xml-property name="container" value="sriov-vfs" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="L3InterfaceIpv4AddressList">
+            <xml-root-element name="l3-interface-ipv4-address-list" />
+            <java-attributes>
+                <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="IP address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Prefix length, 32 for single address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Inner VLAN tag" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Outer VLAN tag" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicator of fixed or floating address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron id of subnet that address belongs to" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="IPv4 Address Range" />
+                <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
+                <xml-property name="dependentOn" value="vlan,l-interface" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Vlans">
+            <xml-root-element name="vlans" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.openecomp.org.v10.Vlan" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Vlan">
+            <xml-root-element name="vlan" />
+            <java-attributes>
+                <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="String that identifies the interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Inner VLAN tag" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Outer VLAN tag" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the numeric part of the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the units corresponding to the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used to describe (the service associated with) the vlan" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vpnId" name="vpn-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan" />
+                        <xml-property name="dbAlias" value="vpn-id-local" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv4AddressList" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v10.L3InterfaceIpv6AddressList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Definition of vlan" />
+                <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-id" />
+                <xml-property name="uniqueProps" value="vpn-id" />
+                <xml-property name="dependentOn" value="l-interface" />
+                <xml-property name="container" value="vlans" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="L3InterfaceIpv6AddressList">
+            <xml-root-element name="l3-interface-ipv6-address-list" />
+            <java-attributes>
+                <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="IP address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Prefix length, 128 for single address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Inner VLAN tag" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Outer VLAN tag" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicator of fixed or floating address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron id of subnet that address belongs to" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="IPv6 Address Range" />
+                <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
+                <xml-property name="dependentOn" value="vlan,l-interface" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Volumes">
+            <xml-properties>
+                <xml-property name="description" value="Collection of ephemeral Block storage volumes." />
+            </xml-properties>
+            <xml-root-element name="volumes" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.openecomp.org.v10.Volume" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Volume">
+            <xml-root-element name="volume" />
+            <java-attributes>
+                <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of block storage volume relative to the vserver." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Ephemeral Block storage volume." />
+                <xml-property name="indexedProps" value="volume-id" />
+                <xml-property name="dependentOn" value="vserver" />
+                <xml-property name="container" value="volumes" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Flavors">
+            <xml-properties>
+                <xml-property name="description" value="Collection of openstack flavors." />
+            </xml-properties>
+            <xml-root-element name="flavors" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.openecomp.org.v10.Flavor" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Flavor">
+            <xml-root-element name="flavor" />
+            <java-attributes>
+                <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Flavor id, expected to be unique across cloud-region." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Flavor name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Number of CPUs" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Amount of memory" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Disk space" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Amount of ephemeral disk space" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="amount of swap space allocation" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Openstack flavor." />
+                <xml-property name="nameProps" value="flavor-name" />
+                <xml-property name="indexedProps" value="flavor-name,flavor-id" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="flavors" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Snapshots">
+            <xml-properties>
+                <xml-property name="description" value="Collection of openstack snapshots" />
+            </xml-properties>
+            <xml-root-element name="snapshots" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.openecomp.org.v10.Snapshot" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Snapshot">
+            <xml-root-element name="snapshot" />
+            <java-attributes>
+                <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Snapshot name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Operating system architecture" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The operating system version as specified by the distributor." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="application" name="application" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The application that the image instantiates." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The vendor of the application." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The version of the application." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Openstack snapshot" />
+                <xml-property name="nameProps" value="snapshot-name" />
+                <xml-property name="uniqueProps" value="snapshot-id" />
+                <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="snapshots" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="GroupAssignments">
+            <xml-properties>
+                <xml-property name="description" value="Collection of openstack group assignments" />
+            </xml-properties>
+            <xml-root-element name="group-assignments" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.openecomp.org.v10.GroupAssignment" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="GroupAssignment">
+            <xml-root-element name="group-assignment" />
+            <java-attributes>
+                <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Group id, expected to be unique across cloud-region." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Group type - the type of group this instance refers to" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Group name - name assigned to the group" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Group description - description of the group" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)." />
+                <xml-property name="nameProps" value="group-name" />
+                <xml-property name="indexedProps" value="group-id,group-type,group-name" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="group-assignments" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Images">
+            <xml-properties>
+                <xml-property name="description" value="Collectio of Openstack images." />
+            </xml-properties>
+            <xml-root-element name="images" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.openecomp.org.v10.Image" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Image">
+            <xml-root-element name="image" />
+            <java-attributes>
+                <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Image id, expected to be unique across cloud region" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Image name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Operating system architecture." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The operating system version as specified by the distributor." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="application" name="application" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The application that the image instantiates." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The vendor of the application." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The version of the application." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Openstack image." />
+                <xml-property name="nameProps" value="image-name" />
+                <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="images" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Metadata">
+            <xml-properties>
+                <xml-property name="description" value="Collection of metadatum (key/value pairs)" />
+            </xml-properties>
+            <xml-root-element name="metadata" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.openecomp.org.v10.Metadatum" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Metadatum">
+            <xml-root-element name="metadatum" />
+            <java-attributes>
+                <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true" />
+                <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String" />
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Key/value pairs" />
+                <xml-property name="indexedProps" value="metaname" />
+                <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model" />
+                <xml-property name="container" value="metadata" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="DvsSwitches">
+            <xml-properties>
+                <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and VPEs." />
+            </xml-properties>
+            <xml-root-element name="dvs-switches" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.openecomp.org.v10.DvsSwitch" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="DvsSwitch">
+            <xml-root-element name="dvs-switch" />
+            <java-attributes>
+                <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="DVS switch name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL used to reach the vcenter" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs.  A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. " />
+                <xml-property name="indexedProps" value="vcenter-url,switch-name" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="dvs-switches" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="NetworkProfiles">
+            <xml-properties>
+                <xml-property name="description" value="Collection of network profiles" />
+            </xml-properties>
+            <xml-root-element name="network-profiles" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.openecomp.org.v10.NetworkProfile" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="NetworkProfile">
+            <xml-root-element name="network-profile" />
+            <java-attributes>
+                <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique name of network profile." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Encrypted SNMP community string" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Network profile populated by SDN-GP for SNMP" />
+                <xml-property name="indexedProps" value="nm-profile-name" />
+                <xml-property name="container" value="network-profiles" />
+                <xml-property name="namespace" value="cloud-infrastructure" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Pservers">
+            <xml-properties>
+                <xml-property name="description" value="Collection of compute hosts." />
+            </xml-properties>
+            <xml-root-element name="pservers" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.openecomp.org.v10.Pserver" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Pserver">
+            <xml-root-element name="pserver" />
+            <java-attributes>
+                <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Value from executing hostname on the compute node." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="PTNII name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Number of cpus" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Disk size, in GBs" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="RAM size, in MBs" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Fully-qualified domain name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Serial number, may be queried" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV4 Loopback 0 address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV6 Loopback 0 address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV4 AIM address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV6 AIM address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV6 OAM address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ID of Pserver" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="internet topology of Pserver" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="alternative pserver name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="purpose of pserver" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v10.PInterfaces" />
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver." />
+                <xml-property name="nameProps" value="pserver-name2" />
+                <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2,inv-status" />
+                <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address" />
+                <xml-property name="container" value="pservers" />
+                <xml-property name="namespace" value="cloud-infrastructure" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="PInterfaces">
+            <xml-properties>
+                <xml-property name="description" value="Collection of physical interfaces." />
+            </xml-properties>
+            <xml-root-element name="p-interfaces" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.openecomp.org.v10.PInterface" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="PInterface">
+            <xml-root-element name="p-interface" />
+            <java-attributes>
+                <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name that identifies the physical interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the numeric part of the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the units corresponding to the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Nature of the services and connectivity on this port." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CLEI or other specification for p-interface hardware." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Role specification for p-interface hardware." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicates the physical properties of the interface." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Physical interface (e.g., nic)" />
+                <xml-property name="indexedProps" value="interface-name,prov-status" />
+                <xml-property name="nameProps" value="prov-status" />
+                <xml-property name="dependentOn" value="vpls-pe,pserver,pnf" />
+                <xml-property name="container" value="p-interfaces" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="LagInterfaces">
+            <xml-properties>
+                <xml-property name="description" value="Collection of link aggregate interfaces." />
+            </xml-properties>
+            <xml-root-element name="lag-interfaces" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.openecomp.org.v10.LagInterface" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="LagInterface">
+            <xml-root-element name="lag-interface" />
+            <java-attributes>
+                <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name that identifies the link aggregate interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Human friendly text regarding this interface." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the numeric part of the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the units corresponding to the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ID of interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="inMaint" name="in-maint" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Link aggregate interface" />
+                <xml-property name="indexedProps" value="interface-name,interface-id,interface-role" />
+                <xml-property name="dependentOn" value="generic-vnf,pserver,vpe,vpls-pe,pnf" />
+                <xml-property name="container" value="lag-interfaces" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="OamNetworks">
+            <xml-properties>
+                <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly.  Do not use for new purposes. " />
+            </xml-properties>
+            <xml-root-element name="oam-networks" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.openecomp.org.v10.OamNetwork" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="OamNetwork">
+            <xml-root-element name="oam-network" />
+            <java-attributes>
+                <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of the network. Unique across a cloud-region" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the network." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="cvlan-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="OAM network, to be deprecated shortly.  Do not use for new purposes. " />
+                <xml-property name="nameProps" value="network-name" />
+                <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="oam-networks" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="AvailabilityZones">
+            <xml-properties>
+                <xml-property name="description" value="Collection of availability zones" />
+            </xml-properties>
+            <xml-root-element name="availability-zones" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v10.AvailabilityZone" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="AvailabilityZone">
+            <xml-root-element name="availability-zone" />
+            <java-attributes>
+                <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the availability zone.  Unique across a cloud region" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Type of hypervisor.  Source of truth should define valid values." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers" />
+                <xml-property name="indexedProps" value="availability-zone-name" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="availability-zones" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VirtualDataCenters">
+            <xml-properties>
+                <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
+            </xml-properties>
+            <xml-root-element name="virtual-data-centers" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.openecomp.org.v10.VirtualDataCenter" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VirtualDataCenter">
+            <xml-root-element name="virtual-data-center" />
+            <java-attributes>
+                <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of the vdc" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the virtual data center" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
+                <xml-property name="nameProps" value="vdc-name" />
+                <xml-property name="indexedProps" value="vdc-name,vdc-id" />
+                <xml-property name="container" value="virtual-data-centers" />
+                <xml-property name="namespace" value="cloud-infrastructure" />
+            </xml-properties>
+        </java-type>
+
+
+
+
+        <java-type name="Business">
+            <xml-properties>
+                <xml-property name="description" value="Namespace for business related constructs" />
+            </xml-properties>
+            <xml-root-element name="business" />
+            <java-attributes>
+                <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.openecomp.org.v10.Connectors" />
+                <xml-element java-attribute="customers" name="customers" type="inventory.aai.openecomp.org.v10.Customers" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Connectors">
+            <xml-properties>
+                <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
+            </xml-properties>
+            <xml-root-element name="connectors" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.openecomp.org.v10.Connector" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Connector">
+            <xml-root-element name="connector" />
+            <java-attributes>
+                <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of resource instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="model-version-id" />
+                        <xml-property name="dbAlias" value="model-invariant-id-local" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="model-invariant-id" />
+                        <xml-property name="dbAlias" value="model-version-id-local" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="internal" />
+                        <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
+                <xml-property name="indexedProps" value="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version" />
+                <xml-property name="container" value="connectors" />
+                <xml-property name="namespace" value="business" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Customers">
+            <xml-properties>
+                <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information." />
+            </xml-properties>
+            <xml-root-element name="customers" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.openecomp.org.v10.Customer" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Customer">
+            <xml-root-element name="customer" />
+            <java-attributes>
+                <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers." />
+                        <xml-property name="defaultValue" value="CUST" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.openecomp.org.v10.ServiceSubscriptions" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="customer identifiers to provide linkage back to BSS information." />
+                <xml-property name="nameProps" value="subscriber-name" />
+                <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type" />
+                <xml-property name="searchable" value="global-customer-id,subscriber-name" />
+                <xml-property name="uniqueProps" value="global-customer-id" />
+                <xml-property name="container" value="customers" />
+                <xml-property name="namespace" value="business" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="ServiceSubscriptions">
+            <xml-properties>
+                <xml-property name="description" value="Collection of objects that group service instances." />
+            </xml-properties>
+            <xml-root-element name="service-subscriptions" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.openecomp.org.v10.ServiceSubscription" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ServiceSubscription">
+            <xml-root-element name="service-subscription" />
+            <java-attributes>
+                <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
                     <xml-properties>
                         <xml-property name="description" value="This property will be deleted from A&amp;AI in the near future. Only stop gap solution." />
                     </xml-properties>
                 </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.openecomp.org.v10.ServiceInstances">
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Object that group service instances." />
-                               <xml-property name="indexedProps" value="service-type" />
-                               <xml-property name="dependentOn" value="customer" />
-                               <xml-property name="container" value="service-subscriptions" />
-                               <xml-property name="crossEntityReference" value="service-instance,service-type" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceInstances">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service instances" />
-                       </xml-properties>
-                       <xml-root-element name="service-instances" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.openecomp.org.v10.ServiceInstance" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceInstance">
-                       <xml-root-element name="service-instance" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Uniquely identifies this instance of a service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This field will store a name assigned to the service-instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates the total bandwidth to be used for this service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL customers will use to access the vHN Portal." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="An identifier that customers assign to the location where this service is being used." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
-                               <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.openecomp.org.v10.AllottedResources" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Instance of a service" />
-                               <xml-property name="indexedProps" value="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status" />
-                               <xml-property name="nameProps" value="service-instance-name" />
-                               <xml-property name="searchable" value="service-instance-id,service-instance-name" />
-                               <xml-property name="uniqueProps" value="service-instance-id" />
-                               <xml-property name="dependentOn" value="service-subscription" />
-                               <xml-property name="container" value="service-instances" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceDesignAndCreation">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for objects managed by ASDC" />
-                       </xml-properties>
-                       <xml-root-element name="service-design-and-creation" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.openecomp.org.v10.VnfImages" />
-                               <xml-element java-attribute="services" name="services" type="inventory.aai.openecomp.org.v10.Services" />
-                               <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.openecomp.org.v10.ServiceCapabilities" />
-                               <xml-element java-attribute="models" name="models" type="inventory.aai.openecomp.org.v10.Models" />
-                               <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.openecomp.org.v10.NamedQueries" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VnfImages">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
-                       </xml-properties>
-                       <xml-root-element name="vnf-images" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.openecomp.org.v10.VnfImage" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VnfImage">
-                       <xml-root-element name="vnf-image" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfImageUuid" name="vnf-image-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of this asset" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
-                               <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version" />
-                               <xml-property name="uniqueProps" value="vnf-image-uuid" />
-                               <xml-property name="container" value="vnf-images" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Services">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service model definitions.  Likely to be deprecated in favor of models from ASDC." />
-                       </xml-properties>
-                       <xml-root-element name="services" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.openecomp.org.v10.Service" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Service">
-                       <xml-root-element name="service" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description of the service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="service version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Stand-in for service model definitions.  Likely to be deprecated in favor of models from ASDC.  Does not strictly map to ASDC services." />
-                               <xml-property name="indexedProps" value="service-description,service-id" />
-                               <xml-property name="container" value="services" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceCapabilities">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service capabilities." />
-                       </xml-properties>
-                       <xml-root-element name="service-capabilities" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.openecomp.org.v10.ServiceCapability" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceCapability">
-                       <xml-root-element name="service-capability" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models.  No new use should be made of this." />
-                               <xml-property name="indexedProps" value="service-type,vnf-type" />
-                               <xml-property name="container" value="service-capabilities" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Network">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for network inventory resources." />
-                       </xml-properties>
-                       <xml-root-element name="network" />
-                       <java-attributes>
-                               <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.openecomp.org.v10.LogicalLinks" />
-                               <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.openecomp.org.v10.SitePairSets" />
-                               <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.openecomp.org.v10.VpnBindings" />
-                               <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.openecomp.org.v10.VplsPes" />
-                               <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.openecomp.org.v10.MulticastConfigurations" />
-                               <xml-element java-attribute="vces" name="vces" type="inventory.aai.openecomp.org.v10.Vces" />
-                               <xml-element java-attribute="vpes" name="vpes" type="inventory.aai.openecomp.org.v10.Vpes" />
-                               <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.openecomp.org.v10.Vnfcs" />
-                               <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.openecomp.org.v10.L3Networks" />
-                               <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.openecomp.org.v10.NetworkPolicies" />
-                               <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.openecomp.org.v10.GenericVnfs" />
-                               <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.openecomp.org.v10.LagLinks" />
-                               <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.openecomp.org.v10.Newvces" />
-                               <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.openecomp.org.v10.Pnfs" />
-                               <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.openecomp.org.v10.PhysicalLinks" />
-                               <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.openecomp.org.v10.IpsecConfigurations" />
-                               <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.openecomp.org.v10.RouteTableReferences" />
-                               <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.openecomp.org.v10.InstanceGroups" />
-                               <xml-element java-attribute="zones" name="zones" type="inventory.aai.openecomp.org.v10.Zones" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LogicalLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of logical connections" />
-                       </xml-properties>
-                       <xml-root-element name="logical-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.openecomp.org.v10.LogicalLink" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LogicalLink">
-                       <xml-root-element name="logical-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of logical link, e.g., evc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4, v6, or ds for dual stack" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="For example, static or BGP" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indication of operational status of the logical link." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indication of the network use of the logical link." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the logical-link, SDNC generates this." />
-                                       </xml-properties>
-                               </xml-element>
-                                       <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Circuit id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Reason for this entity, role it is playing" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points" />
-                               <xml-property name="indexedProps" value="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose" />
-                               <xml-property name="uniqueProps" value="link-id" />
-                               <xml-property name="container" value="logical-links" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="searchable" value="link-name" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SitePairSets">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf" />
-                       </xml-properties>
-                       <xml-root-element name="site-pair-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.openecomp.org.v10.SitePairSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SitePairSet">
-                       <xml-root-element name="site-pair-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of site pair set." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.openecomp.org.v10.RoutingInstances" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Set of instances for probes used to measure service level agreements" />
-                               <xml-property name="indexedProps" value="site-pair-set-id" />
-                               <xml-property name="uniqueProps" value="site-pair-set-id" />
-                               <xml-property name="container" value="site-pair-sets" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="RoutingInstances">
-                       <xml-properties>
-                               <xml-property name="description" value="set of probes related to generic-vnf routing instance" />
-                       </xml-properties>
-                       <xml-root-element name="routing-instances" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.openecomp.org.v10.RoutingInstance" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RoutingInstance">
-                       <xml-root-element name="routing-instance" />
-                       <java-attributes>
-                               <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of routing instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="rpm owner" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.openecomp.org.v10.SitePairs" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="routing-instance-id" />
-                               <xml-property name="uniqueProps" value="routing-instance-id" />
-                               <xml-property name="dependentOn" value="site-pair-set" />
-                               <xml-property name="container" value="routing-instances" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SitePairs">
-                       <xml-properties>
-                               <xml-property name="description" value="probe within a set" />
-                       </xml-properties>
-                       <xml-root-element name="site-pairs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.openecomp.org.v10.SitePair" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SitePair">
-                       <xml-root-element name="site-pair" />
-                       <java-attributes>
-                               <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ip version, v4, v6" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The type of destinatination equipment. Could be Router, etc." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.openecomp.org.v10.ClassesOfService" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="site-pair-id" />
-                               <xml-property name="uniqueProps" value="site-pair-id" />
-                               <xml-property name="dependentOn" value="routing-instance" />
-                               <xml-property name="container" value="site-pairs" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ClassesOfService">
-                       <xml-properties>
-                               <xml-property name="description" value="class-of-service of probe" />
-                       </xml-properties>
-                       <xml-root-element name="classes-of-service" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.openecomp.org.v10.ClassOfService" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ClassOfService">
-                       <xml-root-element name="class-of-service" />
-                       <java-attributes>
-                               <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="type of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="cos" />
-                               <xml-property name="dependentOn" value="site-pair" />
-                               <xml-property name="container" value="classes-of-service" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VpnBindings">
-                       <xml-root-element name="vpn-bindings" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.openecomp.org.v10.VpnBinding" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VpnBinding">
-                       <xml-root-element name="vpn-binding" />
-                       <java-attributes>
-                               <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="VPN ID, globally unique within A&amp;AI" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="VPN Name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the vpn, should be taken from enumerated/valid values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeTargets" name="route-targets" type="inventory.aai.openecomp.org.v10.RouteTargets" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList">
-                                       <xml-properties>
-                                               <xml-property name="description" value="l3-networks relate to vpn-bindings" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="VPN binding" />
-                               <xml-property name="nameProps" value="vpn-name,vpn-type" />
-                               <xml-property name="indexedProps" value="vpn-name,vpn-id,vpn-type" />
-                               <xml-property name="searchable" value="vpn-id,vpn-name" />
-                               <xml-property name="uniqueProps" value="vpn-id" />
-                               <xml-property name="container" value="vpn-bindings" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VplsPes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of VPLS Provider Edge routers" />
-                       </xml-properties>
-                       <xml-root-element name="vpls-pes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.openecomp.org.v10.VplsPe" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VplsPe">
-                       <xml-root-element name="vpls-pe" />
-                       <java-attributes>
-                               <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Temporary location for stag to get to VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v10.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="VPLS Provider Edge routers." />
-                               <xml-property name="indexedProps" value="prov-status,equipment-name" />
-                               <xml-property name="container" value="vpls-pes" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="MulticastConfigurations">
-                       <xml-properties>
-                               <xml-property name="description" value="multicast configuration of generic-vnf ip-address" />
-                       </xml-properties>
-                       <xml-root-element name="multicast-configurations" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.openecomp.org.v10.MulticastConfiguration" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="MulticastConfiguration">
-                       <xml-root-element name="multicast-configuration" />
-                       <java-attributes>
-                               <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of multicast configuration." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="protocol of multicast configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="rp type of multicast configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="multicast-configuration-id" />
-                               <xml-property name="uniqueProps" value="multicast-configuration-id" />
-                               <xml-property name="container" value="multicast-configurations" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma.  This object is deprecated." />
-                       </xml-properties>
-                       <xml-root-element name="vces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.openecomp.org.v10.Vce" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vce">
-                       <xml-root-element name="vce" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network role being played by this VNF" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of VPE connected to this VCE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router.  Implied length of /64." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  see child relationships" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.openecomp.org.v10.PortGroups" />
-                               <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v10.Licenses" />
-                               <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v10.Entitlements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma.  This object is deprecated." />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id" />
-                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="vces" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PortGroups">
-                       <xml-root-element name="port-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.openecomp.org.v10.PortGroup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PortGroup">
-                       <xml-root-element name="port-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network name of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID for port group in vmware" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Likely to duplicate value of neutron network name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.openecomp.org.v10.CvlanTags" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Used to capture the network interfaces of this VCE" />
-                               <xml-property name="nameProps" value="port-group-name" />
-                               <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name" />
-                               <xml-property name="dependentOn" value="vce" />
-                               <xml-property name="container" value="port-groups" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CvlanTags">
-                       <xml-root-element name="cvlan-tags" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.openecomp.org.v10.CvlanTagEntry" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CvlanTagEntry">
-                       <xml-root-element name="cvlan-tag-entry" />
-                       <java-attributes>
-                               <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="See mis-na-virtualization-platform.yang" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="dependentOn" value="port-group" />
-                               <xml-property name="indexedProps" value="cvlan-tag" />
-                               <xml-property name="container" value="cvlan-tags" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vpes">
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual provider edge router. In 1504, A&amp;AI will populate this object through an M&amp;P and tool provided to operations." />
-                       </xml-properties>
-                       <xml-root-element name="vpes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vpe" name="vpe" type="inventory.aai.openecomp.org.v10.Vpe" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vpe">
-                       <xml-root-element name="vpe" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service.  Does not map strictly to ASDC services.  SOON TO BE DEPRECATED" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use.  See child relationships." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length for oam-address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Gateway address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v4Loopback0IpAddress" name="v4-loopback0-ip-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Temporary location for stag to get to VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="as-number of the VPE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="details regarding the vpe operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether vpe access uses SSH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
-                               <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v10.Licenses" />
-                               <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v10.Entitlements" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Relationship-list must include related to info for complex." />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,regional-resource-zone,prov-status,service-id" />
-                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="vpes" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vnfcs">
-                       <xml-properties>
-                               <xml-property name="description" value="virtual network components associated with a vserver from application controller." />
-                       </xml-properties>
-                       <xml-root-element name="vnfcs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.openecomp.org.v10.Vnfc" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vnfc">
-                       <xml-root-element name="vnfc" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of vnfc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfcFunctionCode" name="vnfc-function-code" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="function code" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfcType" name="vnfc-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="type" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="prov status of this vnfc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Oam V4 vip address of this vnfc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group notation of VNFC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation" />
-                               <xml-property name="searchable" value="vnfc-name" />
-                               <xml-property name="container" value="vnfcs" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3Networks">
-                       <xml-root-element name="l3-networks" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.openecomp.org.v10.L3Network" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="L3Network">
-                       <xml-root-element name="l3-network" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network, governed by some naming convention.." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the network - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role the network plans - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network technology - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isBoundToVpn" name="is-bound-to-vpn" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Set to true if bound to VPN" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service from ASDC.  Does not strictly map to ASDC services.  SOON TO BE DEPRECATED" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="network role instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contrail FQDN for the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name associated with the physical network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is a provider network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is a shared network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is an external network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.openecomp.org.v10.Subnets" />
-                               <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.openecomp.org.v10.CtagAssignments" />
-                               <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.openecomp.org.v10.SegmentationAssignments" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" >
-                                       <xml-properties>
-                                               <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Generic network definition" />
-                               <xml-property name="nameProps" value="network-name" />
-                               <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-network-fqdn,network-role" />
-                               <xml-property name="searchable" value="network-id,network-name" />
-                               <xml-property name="uniqueProps" value="network-id" />
-                               <xml-property name="container" value="l3-networks" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="NetworkPolicies">
-                       <xml-root-element name="network-policies" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.openecomp.org.v10.NetworkPolicy" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="NetworkPolicy">
-                       <xml-root-element name="network-policy" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID representing unique key to this instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contrail FQDN for the policy" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID for the openStack Heat instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="nameProps" value="network-policy-fqdn" />
-                               <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn" />
-                               <xml-property name="searchable" value="network-policy-id,network-policy-fqdn" />
-                               <xml-property name="uniqueProps" value="network-policy-id" />
-                               <xml-property name="container" value="network-policies" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="CtagAssignments">
-                       <xml-root-element name="ctag-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.openecomp.org.v10.CtagAssignment" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CtagAssignment">
-                       <xml-root-element name="ctag-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="id." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="vlan-id-inner" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="ctag-assignments" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Subnets">
-                       <xml-root-element name="subnets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.openecomp.org.v10.Subnet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Subnet">
-                       <xml-root-element name="subnet" />
-                       <java-attributes>
-                               <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subnet ID, should be UUID." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name associated with the subnet." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of this subnet" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="gateway ip address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="network start address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="cidr mask" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ip version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="dhcpEnabled" name="dhcp-enabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="dhcp enabled" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the start address reserved for use by dhcp" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the last address reserved for use by dhcp" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="subnet-id,subnet-name" />
-                               <xml-property name="nameProps" value="subnet-name" />
-                               <xml-property name="uniqueProps" value="subnet-id" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="subnets" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="GenericVnfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of VNFs" />
-                       </xml-properties>
-                       <xml-root-element name="generic-vnfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.openecomp.org.v10.GenericVnf" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="GenericVnf">
-                       <xml-root-element name="generic-vnf" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service, does not necessarily map to ASDC service models.  SOON TO BE DEPRECATED" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                               <xml-property name="suggestibleOnSearch" value="true"/>
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational.  Valid values are in-service-path and out-of-service-path." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, used by MSO." />
-                                               <xml-property name="suggestibleOnSearch" value="true"/>
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of managed by company or customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 Loopback address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 management address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether generic-vnf access uses SSH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="entitlementAssignmentGroupUuid" name="entitlement-assignment-group-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the Entitlement group used for licensing VNFs, OBSOLETE -  See child relationships." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the specific entitlement resource.  OBSOLETE -  See child relationships." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseAssignmentGroupUuid" name="license-assignment-group-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the license assignment group.  OBSOLETE -  See child relationships." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKeyUuid" name="license-key-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the actual license resource.  OBSOLETE -  See child relationships." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="as-number of the VNF" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="represents sub zone of the rr plane" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nfType" name="nf-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Generic description of the type of NF" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nfFunction" name="nf-function" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="English description of Network function that the specific VNF deployment is providing" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="role in the network that this model will be providing" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="nfNamingCode" name="nf-naming-code" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="string assigned to this model used for naming purposes" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
-                               <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.openecomp.org.v10.VfModules" />
-                               <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v10.Licenses" />
-                               <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v10.Entitlements" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="General purpose VNF" />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role" />
-                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="generic-vnfs" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                               <xml-property name="containsSuggestibleProps" value="true"/>
-                               <xml-property name="suggestionAliases" value="VNFs"/>
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VfModules">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs" />
-                       </xml-properties>
-                       <xml-root-element name="vf-modules" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.openecomp.org.v10.VfModule" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VfModule">
-                       <xml-root-element name="vf-module" />
-                       <java-attributes>
-                               <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of vf-module." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of vf-module" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isBaseVfModule" name="is-base-vf-module" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is base vf module" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the Contrail unique ID for a service-instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="moduleIndex" name="module-index" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="a deployment unit of VNFCs" />
-                               <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-service-instance-fqdn" />
-                               <xml-property name="searchable" value="vf-module-id,vf-module-name" />
-                               <xml-property name="dependentOn" value="generic-vnf" />
-                               <xml-property name="container" value="vf-modules" />
-                       </xml-properties>
-               </java-type>
-
-
-               <java-type name="LagLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of link aggregation connections" />
-                       </xml-properties>
-                       <xml-root-element name="lag-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.openecomp.org.v10.LagLink" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LagLink">
-                       <xml-root-element name="lag-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alphabetical concatenation of lag-interface names" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="LAG links can connect lag-interfaces" />
-                               <xml-property name="indexedProps" value="link-name" />
-                               <xml-property name="container" value="lag-links" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Newvces">
-                       <xml-properties>
-                               <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
-                       </xml-properties>
-                       <xml-root-element name="newvces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.openecomp.org.v10.Newvce" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Newvce">
-                       <xml-root-element name="newvce" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value, e.g., VPE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2" />
-                               <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id2" />
-                               <xml-property name="container" value="newvces" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pnfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of Physical Network Functions." />
-                       </xml-properties>
-                       <xml-root-element name="pnfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.openecomp.org.v10.Pnf" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pnf">
-                       <xml-root-element name="pnf" />
-                       <java-attributes>
-                               <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique name of Physical Network Function." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="name of Physical Network Function." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="source of name2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="id of pnf" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of managed by company or customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Serial number of the device" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 OAM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Nf Role is the role performed by this instance in the network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v10.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world." />
-                               <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status" />
-                               <xml-property name="searchable" value="pnf-name" />
-                               <xml-property name="uniqueProps" value="pnf-name" />
-                               <xml-property name="container" value="pnfs" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PhysicalLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
-                       </xml-properties>
-                       <xml-root-element name="physical-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.openecomp.org.v10.PhysicalLink" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PhysicalLink">
-                       <xml-root-element name="physical-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Circuit it" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Dual access mode (e.g., primary, secondary" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the service Provider on this link." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
-                               <xml-property name="indexedProps" value="circuit-id,link-name" />
-                               <xml-property name="alternateKeys1" value="circuit-id" />
-                               <xml-property name="container" value="physical-links" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="searchable" value="link-name,circuit-id" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VigServers">
-                       <xml-root-element name="vig-servers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.openecomp.org.v10.VigServer" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VigServer">
-                       <xml-root-element name="vig-server" />
-                       <java-attributes>
-                               <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String" >
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 IP of the vig server" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String" >
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 IP of the vig server" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607" />
-                               <xml-property name="indexedProps" value="vig-address-type" />
-                               <xml-property name="dependentOn" value="ipsec-configuration" />
-                               <xml-property name="container" value="vig-servers" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="IpsecConfigurations">
-                       <xml-root-element name="ipsec-configurations" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.openecomp.org.v10.IpsecConfiguration" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="IpsecConfiguration">
-                       <xml-root-element name="ipsec-configuration" />
-                       <java-attributes>
-                               <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of this configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="can offer a shared DMZ or a DMZ specific to a customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network address of shared DMZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="can be 1 or 2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc,ƂĀ aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="pre-shared key for the above group name " />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Lifetime for IKEv1 SA" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="md5, sha1, sha256, sha384" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc,ƂĀ aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Life time for IPSec SA" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="enable PFS or not" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="user ID for xAuth, sm-user,nmteHostName" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The time between DPD probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                               <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.openecomp.org.v10.VigServers" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C" />
-                               <xml-property name="indexedProps" value="ipsec-configuration-id" />
-                               <xml-property name="uniqueProps" value="ipsec-configuration-id" />
-                               <xml-property name="container" value="ipsec-configurations" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-
-               <java-type name="NotificationEvent">
-                       <xml-root-element name="notification-event" />
-                       <java-attributes>
-                               <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String" />
-                               <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.openecomp.org.v10.NotificationEventHeader" />
-                               <xml-any-element java-attribute="entity" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="NotificationEventHeader">
-                       <xml-root-element name="notification-event-header" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" type="java.lang.String" />
-                               <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String" />
-                               <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String" />
-                               <xml-element java-attribute="domain" name="domain" type="java.lang.String" />
-                               <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String" />
-                               <xml-element java-attribute="severity" name="severity" type="java.lang.String" />
-                               <xml-element java-attribute="eventType" name="event-type" type="java.lang.String" />
-                               <xml-element java-attribute="version" name="version" type="java.lang.String" />
-                               <xml-element java-attribute="action" name="action" type="java.lang.String" />
-                               <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String" />
-                               <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String" />
-                               <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String" />
-                               <xml-element java-attribute="status" name="status" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="AaiInternal">
-                       <xml-root-element name="aai-internal" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.openecomp.org.v10.ReservedPropNames" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.openecomp.org.v10.EdgePropNames" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="ReservedPropNames">
-                       <xml-properties>
-                               <xml-property name="description" value="Internal map to define some reserved properties of a vertex" />
-                               <xml-property name="uniqueProps" value="aai-unique-key" />
-                               <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri" />
-                       </xml-properties>
-                       <xml-root-element name="reserved-prop-names" />
-                       <java-attributes>
-                               <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String" />
-                               <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String" />
-                               <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long" />
-                               <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String" />
-                               <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long" />
-                               <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String" />
-                               <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="EdgePropNames">
-                       <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
-                       <xml-properties>
-                               <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules" />
-                               <xml-property name="edgeInfo" value="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV" />
-                       </xml-properties>
-                       <xml-root-element name="edge-prop-names" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String" />
-                               <xml-element java-attribute="direction" name="direction" type="java.lang.String" />
-                               <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String" />
-                               <xml-element java-attribute="isParent" name="isParent" type="java.lang.Boolean" />
-                               <xml-element java-attribute="usesResource" name="usesResource" type="java.lang.Boolean" />
-                               <xml-element java-attribute="hasDelTarget" name="hasDelTarget" type="java.lang.Boolean" />
-                               <xml-element java-attribute="SVC-INFRA" name="SVC-INFRA" type="java.lang.Boolean" />
-                               <xml-element java-attribute="SVC-INFRA-REV" name="SVC-INFRA-REV" type="java.lang.Boolean" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Models">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models" />
-                       </xml-properties>
-                       <xml-root-element name="models" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.openecomp.org.v10.Model" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Model">
-                       <xml-root-element name="model" />
-                       <xml-properties>
-                               <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version" />
-                               <xml-property name="nameProps" value="model-type" />
-                               <xml-property name="indexedProps" value="model-invariant-id,model-type" />
-                               <xml-property name="uniqueProps" value="model-invariant-id" />
-                               <xml-property name="container" value="models" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-                       <java-attributes>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v10.ModelVers" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-
-               <java-type name="ModelVers">
-                       <xml-root-element name="model-vers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.openecomp.org.v10.ModelVer" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="ModelVer">
-                       <xml-root-element name="model-ver" />
-                       <xml-properties>
-                               <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models" />
-                               <xml-property name="nameProps" value="model-name" />
-                               <xml-property name="indexedProps" value="model-version-id,model-name,model-version" />
-                               <xml-property name="uniqueProps" value="model-version-id" />
-                               <xml-property name="container" value="model-vers" />
-                       </xml-properties>
-                       <java-attributes>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the model, which can change from version to version." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v10.ModelElements" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelElements">
-                       <xml-root-element name="model-elements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.openecomp.org.v10.ModelElement" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelElement">
-                       <xml-properties>
-                               <xml-property name="description" value="Defines how other models combine to make up a higher-level model." />
-                               <xml-property name="uniqueProps" value="model-element-uuid" />
-                               <xml-property name="indexedProps" value="model-element-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="model-elements" />
-                       </xml-properties>
-                       <xml-root-element name="model-element" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="How many of this type of element are required/allowed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String" >
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v10.ModelElements">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Defines how other models combine to make up a higher-level model" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.openecomp.org.v10.ModelConstraints">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelConstraints">
-                       <xml-root-element name="model-constraints" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.openecomp.org.v10.ModelConstraint" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelConstraint">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="model-constraint-uuid" />
-                               <xml-property name="indexedProps" value="model-constraint-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="model-constraints" />
-                       </xml-properties>
-                       <xml-root-element name="model-constraint" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.openecomp.org.v10.ConstrainedElementSets" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ConstrainedElementSets">
-                       <xml-root-element name="constrained-element-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.openecomp.org.v10.ConstrainedElementSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ConstrainedElementSet">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="constrained-element-set-uuid" />
-                               <xml-property name="indexedProps" value="constrained-element-set-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="constrained-element-sets" />
-                       </xml-properties>
-                       <xml-root-element name="constrained-element-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.openecomp.org.v10.ElementChoiceSets" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ElementChoiceSets">
-                       <xml-root-element name="element-choice-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.openecomp.org.v10.ElementChoiceSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ElementChoiceSet">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="element-choice-set-uuid" />
-                               <xml-property name="indexedProps" value="element-choice-set-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="element-choice-sets" />
-                       </xml-properties>
-                       <xml-root-element name="element-choice-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v10.ModelElements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueries">
-                       <xml-root-element name="named-queries" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v10.NamedQuery" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQuery">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="nameProps" value="named-query-name" />
-                               <xml-property name="uniqueProps" value="named-query-uuid" />
-                               <xml-property name="indexedProps" value="named-query-uuid,named-query-name" />
-                               <xml-property name="container" value="named-queries" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-                       <xml-root-element name="named-query" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String" >
-                                       <xml-element-wrapper name="required-input-params" />
-                               </xml-element>
-                               <xml-element java-attribute="description" name="description" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v10.NamedQueryElements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueryElements">
-                       <xml-root-element name="named-query-elements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.openecomp.org.v10.NamedQueryElement" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueryElement">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="named-query-element-uuid" />
-                               <xml-property name="indexedProps" value="named-query-element-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="named-query-elements" />
-                       </xml-properties>
-                       <xml-root-element name="named-query-element" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String" />
-                               <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v10.NamedQueryElements" />
-                               <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.openecomp.org.v10.RelatedLookups" />
-                               <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.openecomp.org.v10.PropertyConstraints" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedLookups">
-                       <xml-root-element name="related-lookups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.openecomp.org.v10.RelatedLookup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedLookup">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="related-lookup-uuid" />
-                               <xml-property name="indexedProps" value="related-lookup-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="related-lookups" />
-                       </xml-properties>
-                       <xml-root-element name="related-lookup" />
-                       <java-attributes>
-                               <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PropertyConstraints">
-                       <xml-root-element name="property-constraints" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.openecomp.org.v10.PropertyConstraint" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PropertyConstraint">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="property-constraint-uuid" />
-                               <xml-property name="indexedProps" value="property-constraint-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="property-constraints" />
-                       </xml-properties>
-                       <xml-root-element name="property-constraint" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="propertyName" name="property-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelAndNamedQuerySearch">
-                       <xml-properties>
-                               <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="model-and-named-query-search" />
-                       <java-attributes>
-                               <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.openecomp.org.v10.QueryParameters" />
-                               <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.openecomp.org.v10.InstanceFilters" />
-                               <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.openecomp.org.v10.SecondaryFilts" />
-                               <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String" />
-                               <xml-element java-attribute="secondaryFilterCutPoint" name="secondary-filter-cut-point" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="QueryParameters">
-                       <xml-properties>
-                               <xml-property name="description" value="QueryParameters for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="query-parameters" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v10.NamedQuery" />
-                               <xml-element java-attribute="model" name="model" type="inventory.aai.openecomp.org.v10.OverloadedModel" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="OverloadedModel">
-                       <xml-root-element name="overloaded-model" />
-                       <xml-properties>
-                               <xml-property name="description" value="Allows for legacy POST of old-style and new-style models" />
-                       </xml-properties>
-                       <java-attributes>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the model, which can change from version to version." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Invariant unique ID which does not change from version to version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v10.ModelVers" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InstanceFilters">
-                       <xml-properties>
-                               <xml-property name="description" value="InstanceFilters for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="instance-filters" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.openecomp.org.v10.InstanceFilter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InstanceFilter">
-                       <xml-properties>
-                               <xml-property name="description" value="InstanceFilter for performing a named-query or model query" />
-                               <xml-property name="container" value="instance-filters" />
-                       </xml-properties>
-                       <xml-root-element name="instance-filter" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="SecondaryFilts">
-                       <xml-properties>
-                               <xml-property name="description" value="SecondaryFilts for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="secondary-filts" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilt" name="secondary-filt" type="inventory.aai.openecomp.org.v10.SecondaryFilt" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="SecondaryFilt">
-                       <xml-properties>
-                               <xml-property name="description" value="SecondaryFilt for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="secondary-filt" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Properties">
-                       <xml-properties>
-                               <xml-property name="description" value="Property holder for query properties or instance properties" />
-                       </xml-properties>
-                       <xml-root-element name="properties" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ResponseList">
-                       <xml-properties>
-                               <xml-property name="description" value="Response container for the results of a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="response-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v10.InventoryResponseItems" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryResponseItems">
-                       <xml-properties>
-                               <xml-property name="description" value="Container for inventory items in response list" />
-                               <xml-property name="container" value="response-list" />
-                       </xml-properties>
-                       <xml-root-element name="inventory-response-items" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.openecomp.org.v10.InventoryResponseItem" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryResponseItem">
-                       <xml-properties>
-                               <xml-property name="description" value="Inventory item for response list" />
-                               <xml-property name="container" value="inventory-response-items" />
-                       </xml-properties>
-                       <xml-root-element name="inventory-response-item" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelName" name="model-name" type="java.lang.String" />
-                               <xml-any-element java-attribute="item" />
-                               <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.openecomp.org.v10.ExtraProperties" />
-                               <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v10.InventoryResponseItems" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ExtraProperties">
-                       <xml-properties>
-                               <xml-property name="description" value="Extra properties for inventory item for response list" />
-                       </xml-properties>
-                       <xml-root-element name="extra-properties" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.openecomp.org.v10.ExtraProperty" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ExtraProperty">
-                       <xml-root-element name="extra-property" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-any-element java-attribute="propertyValue" lax="true" name="property-value" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="RouteTableReferences">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack route table references" />
-                       </xml-properties>
-                       <xml-root-element name="route-table-references" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.openecomp.org.v10.RouteTableReference" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="RouteTableReference">
-                       <xml-root-element name="route-table-reference" />
-                       <java-attributes>
-                               <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="FQDN entry in the route table." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack route table reference." />
-                               <xml-property name="nameProps" value="route-table-reference-fqdn" />
-                               <xml-property name="uniqueProps" value="route-table-reference-id" />
-                               <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn" />
-                               <xml-property name="container" value="route-table-references" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="InstanceGroups">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack route table references" />
-                       </xml-properties>
-                       <xml-root-element name="instance-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="instanceGroup" name="instance-group" type="inventory.aai.openecomp.org.v10.InstanceGroup" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="InstanceGroup">
-                       <xml-root-element name="instance-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Instance Group ID, UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="description" name="description" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Descriptive text to help identify the usage of this instance-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="type" name="type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Only valid value today is lower case ha for high availability" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subType" name="sub-type"  type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="General mechanism for grouping instances" />
-                               <xml-property name="nameProps" value="description" />
-                               <xml-property name="uniqueProps" value="id" />
-                               <xml-property name="indexedProps" value="id,description,type,sub-type" />
-                               <xml-property name="container" value="instance-groups" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               
-
-               <java-type name="SegmentationAssignments">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack segmentation assignments" />
-                       </xml-properties>
-                       <xml-root-element name="segmentation-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.openecomp.org.v10.SegmentationAssignment" />
-                       </java-attributes>
-               </java-type>
-                               
-               <java-type name="SegmentationAssignment">
-                       <xml-root-element name="segmentation-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack segmentation assignment." />
-                               <xml-property name="indexedProps" value="segmentation-id" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="segmentation-assignments" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="AllottedResources">
-                       <xml-properties>
-                               <xml-property name="description" value="This object is used to store slices of services being offered" />
-                       </xml-properties>
-                       <xml-root-element name="allotted-resources" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="allottedResource" name="allotted-resource" type="inventory.aai.openecomp.org.v10.AllottedResource" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="AllottedResource">
-                       <xml-root-element name="allotted-resource" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="description" name="description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The descriptive information assigned to this allotted resource instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Link back to more information in the controller" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="type" name="type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Generic description of the type of allotted resource." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="role" name="role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="role in the network that this resource will be providing." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.openecomp.org.v10.TunnelXconnects" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="Represents a slice or partial piece of a resource that gets separately allotted" />
-                               <xml-property name="nameProps" value="description" />
-                               <xml-property name="uniqueProps" value="id" />
-                               <xml-property name="indexedProps" value="id,model-invariant-id,model-version-id,type,role" />
-                               <xml-property name="dependentOn" value="service-instance" />
-                               <xml-property name="container" value="allotted-resources" />
-                               <!--  <xml-property name="namespace" value="network" /> -->
-                       </xml-properties>
-               </java-type>    
-               
-               <java-type name="TunnelXconnects">
-                       <xml-properties>
-                               <xml-property name="description" value="This object is used to store the specific tunnel cross connect aspects of an allotted resource" />
-                       </xml-properties>
-                       <xml-root-element name="tunnel-xconnects" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="tunnelXconnect" name="tunnel-xconnect" type="inventory.aai.openecomp.org.v10.TunnelXconnect" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="TunnelXconnect">
-                       <xml-root-element name="tunnel-xconnect" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN uplink bandwidth for WAN1" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN downlink bandwidth for WAN1" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN uplink bandwidth for WAN2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN downlink bandwidth for WAN2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted" />
-                               <xml-property name="uniqueProps" value="id" />
-                               <xml-property name="indexedProps" value="id" />
-                               <xml-property name="dependentOn" value="allotted-resource" />
-                               <xml-property name="container" value="tunnel-xconnects" />
-                               <!--  <xml-property name="namespace" value="network" /> -->
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Entitlements">
-                       <xml-properties>
-                               <xml-property name="description" value="Entitlements, keyed by group-uuid and resource-uuid, related to license management" />
-                       </xml-properties>
-                       <xml-root-element name="entitlements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="entitlement" name="entitlement" type="inventory.aai.openecomp.org.v10.Entitlement" />
-                       </java-attributes>
-               </java-type>
-                               
-               <java-type name="Entitlement">
-                       <xml-root-element name="entitlement" />
-                       <java-attributes>
-                               <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID for the entitlement group the resource comes from, should be uuid." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of an entitlement resource. " />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Metadata for entitlement group." />
-                               <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
-                               <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
-                               <xml-property name="container" value="entitlements" />
-                       </xml-properties>
-               </java-type>
-               
-               
-               <java-type name="Licenses">
-                       <xml-properties>
-                               <xml-property name="description" value="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management" />
-                       </xml-properties>
-                       <xml-root-element name="licenses" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="license" name="license" type="inventory.aai.openecomp.org.v10.License" />
-                       </java-attributes>
-               </java-type>
-                               
-               <java-type name="License">
-                       <xml-root-element name="license" />
-                       <java-attributes>
-                               <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID for the license group the resource belongs to, should be uuid." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of a license resource. " />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Metadata for license group." />
-                               <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
-                               <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
-                               <xml-property name="container" value="licenses" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Vnf">
-                       <xml-root-element name="vnf"/>
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Abstract vnf class" />
-                               <xml-property name="indexedProps" value="vnf-id" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="inheritors" value="vce,vpe,generic-vnf" />
-                               <xml-property name="abstract" value="true" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Zones">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of zones" />
-                       </xml-properties>
-                       <xml-root-element name="zones" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="zone" name="zone" type="inventory.aai.openecomp.org.v10.Zone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Zone">
-                       <xml-root-element name="zone" />
-                       <java-attributes>
-                               <xml-element java-attribute="zoneId" name="zone-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Code assigned by AIC to the zone" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="zoneName" name="zone-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="English name associated with the zone" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Design of zone [Medium/Largeā€¦]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="zoneContext" name="zone-context" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Context of zone [production/test]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="status" name="status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Status of a zone." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="A zone is a grouping of assets in a location homing to the same connections into the CBB" />
-                               <xml-property name="nameProps" value="zone-name" />
-                               <xml-property name="indexedProps" value="zone-id,design-type,zone-context" />
-                               <xml-property name="uniqueProps" value="zone-id" />
-                               <xml-property name="container" value="zones" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="RouteTargets">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of route target information" />
-                       </xml-properties>
-                       <xml-root-element name="route-targets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="routeTarget" name="route-target" type="inventory.aai.openecomp.org.v10.RouteTarget" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="RouteTarget">
-                       <xml-root-element name="route-target" />
-                       <java-attributes>
-                               <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" xml-key="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number used to identify an RT, globally unique in the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeTargetRole" name="route-target-role" required="true" xml-key="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role assigned to this route target" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Route target information" />
-                               <xml-property name="container" value="route-targets" />
-                               <xml-property name="dependentOn" value="vpn-binding" />
-                               <xml-property name="canBeLinked" value="true" />
-                       </xml-properties>
-               </java-type>
-       </java-types>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.openecomp.org.v10.ServiceInstances">
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Object that group service instances." />
+                <xml-property name="indexedProps" value="service-type" />
+                <xml-property name="dependentOn" value="customer" />
+                <xml-property name="container" value="service-subscriptions" />
+                <xml-property name="crossEntityReference" value="service-instance,service-type" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="ServiceInstances">
+            <xml-properties>
+                <xml-property name="description" value="Collection of service instances" />
+            </xml-properties>
+            <xml-root-element name="service-instances" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.openecomp.org.v10.ServiceInstance" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ServiceInstance">
+            <xml-root-element name="service-instance" />
+            <java-attributes>
+                <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Uniquely identifies this instance of a service" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field will store a name assigned to the service-instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="model-version-id" />
+                        <xml-property name="dbAlias" value="model-invariant-id-local" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="model-invariant-id" />
+                        <xml-property name="dbAlias" value="model-version-id-local" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="internal" />
+                        <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicates the total bandwidth to be used for this service." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL customers will use to access the vHN Portal." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="An identifier that customers assign to the location where this service is being used." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Path to the controller object." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this service." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
+                <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.openecomp.org.v10.AllottedResources" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Instance of a service" />
+                <xml-property name="indexedProps" value="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status" />
+                <xml-property name="nameProps" value="service-instance-name" />
+                <xml-property name="searchable" value="service-instance-id,service-instance-name" />
+                <xml-property name="uniqueProps" value="service-instance-id" />
+                <xml-property name="dependentOn" value="service-subscription" />
+                <xml-property name="container" value="service-instances" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="ServiceDesignAndCreation">
+            <xml-properties>
+                <xml-property name="description" value="Namespace for objects managed by ASDC" />
+            </xml-properties>
+            <xml-root-element name="service-design-and-creation" />
+            <java-attributes>
+                <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.openecomp.org.v10.VnfImages" />
+                <xml-element java-attribute="services" name="services" type="inventory.aai.openecomp.org.v10.Services" />
+                <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.openecomp.org.v10.ServiceCapabilities" />
+                <xml-element java-attribute="models" name="models" type="inventory.aai.openecomp.org.v10.Models" />
+                <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.openecomp.org.v10.NamedQueries" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VnfImages">
+            <xml-properties>
+                <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
+            </xml-properties>
+            <xml-root-element name="vnf-images" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.openecomp.org.v10.VnfImage" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VnfImage">
+            <xml-root-element name="vnf-image" />
+            <java-attributes>
+                <xml-element java-attribute="vnfImageUuid" name="vnf-image-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of this asset" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The application that the image instantiates." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The vendor of the application." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The version of the application." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
+                <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version" />
+                <xml-property name="uniqueProps" value="vnf-image-uuid" />
+                <xml-property name="container" value="vnf-images" />
+                <xml-property name="namespace" value="service-design-and-creation" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Services">
+            <xml-properties>
+                <xml-property name="description" value="Collection of service model definitions.  Likely to be deprecated in favor of models from ASDC." />
+            </xml-properties>
+            <xml-root-element name="services" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.openecomp.org.v10.Service" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Service">
+            <xml-root-element name="service" />
+            <java-attributes>
+                <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Description of the service" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="service version" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Stand-in for service model definitions.  Likely to be deprecated in favor of models from ASDC.  Does not strictly map to ASDC services." />
+                <xml-property name="indexedProps" value="service-description,service-id" />
+                <xml-property name="container" value="services" />
+                <xml-property name="namespace" value="service-design-and-creation" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="ServiceCapabilities">
+            <xml-properties>
+                <xml-property name="description" value="Collection of service capabilities." />
+            </xml-properties>
+            <xml-root-element name="service-capabilities" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.openecomp.org.v10.ServiceCapability" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ServiceCapability">
+            <xml-root-element name="service-capability" />
+            <java-attributes>
+                <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models.  No new use should be made of this." />
+                <xml-property name="indexedProps" value="service-type,vnf-type" />
+                <xml-property name="container" value="service-capabilities" />
+                <xml-property name="namespace" value="service-design-and-creation" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Network">
+            <xml-properties>
+                <xml-property name="description" value="Namespace for network inventory resources." />
+            </xml-properties>
+            <xml-root-element name="network" />
+            <java-attributes>
+                <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.openecomp.org.v10.LogicalLinks" />
+                <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.openecomp.org.v10.SitePairSets" />
+                <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.openecomp.org.v10.VpnBindings" />
+                <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.openecomp.org.v10.VplsPes" />
+                <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.openecomp.org.v10.MulticastConfigurations" />
+                <xml-element java-attribute="vces" name="vces" type="inventory.aai.openecomp.org.v10.Vces" />
+                <xml-element java-attribute="vpes" name="vpes" type="inventory.aai.openecomp.org.v10.Vpes" />
+                <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.openecomp.org.v10.Vnfcs" />
+                <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.openecomp.org.v10.L3Networks" />
+                <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.openecomp.org.v10.NetworkPolicies" />
+                <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.openecomp.org.v10.GenericVnfs" />
+                <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.openecomp.org.v10.LagLinks" />
+                <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.openecomp.org.v10.Newvces" />
+                <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.openecomp.org.v10.Pnfs" />
+                <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.openecomp.org.v10.PhysicalLinks" />
+                <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.openecomp.org.v10.IpsecConfigurations" />
+                <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.openecomp.org.v10.RouteTableReferences" />
+                <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.openecomp.org.v10.InstanceGroups" />
+                <xml-element java-attribute="zones" name="zones" type="inventory.aai.openecomp.org.v10.Zones" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="LogicalLinks">
+            <xml-properties>
+                <xml-property name="description" value="Collection of logical connections" />
+            </xml-properties>
+            <xml-root-element name="logical-links" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.openecomp.org.v10.LogicalLink" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="LogicalLink">
+            <xml-root-element name="logical-link" />
+            <java-attributes>
+                <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Type of logical link, e.g., evc" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the numeric part of the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the units corresponding to the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="v4, v6, or ds for dual stack" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="For example, static or BGP" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="model-version-id" />
+                        <xml-property name="dbAlias" value="model-invariant-id-local" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="model-invariant-id" />
+                        <xml-property name="dbAlias" value="model-version-id-local" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="internal" />
+                        <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indication of operational status of the logical link." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indication of the network use of the logical link." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of the logical-link, SDNC generates this." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Circuit id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Reason for this entity, role it is playing" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points" />
+                <xml-property name="indexedProps" value="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose" />
+                <xml-property name="uniqueProps" value="link-id" />
+                <xml-property name="container" value="logical-links" />
+                <xml-property name="namespace" value="network" />
+                <xml-property name="searchable" value="link-name" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="SitePairSets">
+            <xml-properties>
+                <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf" />
+            </xml-properties>
+            <xml-root-element name="site-pair-sets" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.openecomp.org.v10.SitePairSet" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SitePairSet">
+            <xml-root-element name="site-pair-set" />
+            <java-attributes>
+                <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of site pair set." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.openecomp.org.v10.RoutingInstances" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Set of instances for probes used to measure service level agreements" />
+                <xml-property name="indexedProps" value="site-pair-set-id" />
+                <xml-property name="uniqueProps" value="site-pair-set-id" />
+                <xml-property name="container" value="site-pair-sets" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="RoutingInstances">
+            <xml-properties>
+                <xml-property name="description" value="set of probes related to generic-vnf routing instance" />
+            </xml-properties>
+            <xml-root-element name="routing-instances" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.openecomp.org.v10.RoutingInstance" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="RoutingInstance">
+            <xml-root-element name="routing-instance" />
+            <java-attributes>
+                <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of routing instance" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="rpm owner" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.openecomp.org.v10.SitePairs" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="routing-instance-id" />
+                <xml-property name="uniqueProps" value="routing-instance-id" />
+                <xml-property name="dependentOn" value="site-pair-set" />
+                <xml-property name="container" value="routing-instances" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="SitePairs">
+            <xml-properties>
+                <xml-property name="description" value="probe within a set" />
+            </xml-properties>
+            <xml-root-element name="site-pairs" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.openecomp.org.v10.SitePair" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SitePair">
+            <xml-root-element name="site-pair" />
+            <java-attributes>
+                <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="unique identifier of probe" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prefix address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prefix address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ip version, v4, v6" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The type of destinatination equipment. Could be Router, etc." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.openecomp.org.v10.ClassesOfService" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="site-pair-id" />
+                <xml-property name="uniqueProps" value="site-pair-id" />
+                <xml-property name="dependentOn" value="routing-instance" />
+                <xml-property name="container" value="site-pairs" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="ClassesOfService">
+            <xml-properties>
+                <xml-property name="description" value="class-of-service of probe" />
+            </xml-properties>
+            <xml-root-element name="classes-of-service" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.openecomp.org.v10.ClassOfService" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ClassOfService">
+            <xml-root-element name="class-of-service" />
+            <java-attributes>
+                <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="unique identifier of probe" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="identifier of probe" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="type of probe" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="cos" />
+                <xml-property name="dependentOn" value="site-pair" />
+                <xml-property name="container" value="classes-of-service" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VpnBindings">
+            <xml-root-element name="vpn-bindings" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.openecomp.org.v10.VpnBinding" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VpnBinding">
+            <xml-root-element name="vpn-binding" />
+            <java-attributes>
+                <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="VPN ID, globally unique within A&amp;AI" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="VPN Name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Type of the vpn, should be taken from enumerated/valid values" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routeTargets" name="route-targets" type="inventory.aai.openecomp.org.v10.RouteTargets" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList">
+                    <xml-properties>
+                        <xml-property name="description" value="l3-networks relate to vpn-bindings" />
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="VPN binding" />
+                <xml-property name="nameProps" value="vpn-name,vpn-type" />
+                <xml-property name="indexedProps" value="vpn-name,vpn-id,vpn-type" />
+                <xml-property name="searchable" value="vpn-id,vpn-name" />
+                <xml-property name="uniqueProps" value="vpn-id" />
+                <xml-property name="container" value="vpn-bindings" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VplsPes">
+            <xml-properties>
+                <xml-property name="description" value="Collection of VPLS Provider Edge routers" />
+            </xml-properties>
+            <xml-root-element name="vpls-pes" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.openecomp.org.v10.VplsPe" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VplsPe">
+            <xml-root-element name="vpls-pe" />
+            <java-attributes>
+                <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true" />
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Temporary location for stag to get to VCE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v10.PInterfaces" />
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="VPLS Provider Edge routers." />
+                <xml-property name="indexedProps" value="prov-status,equipment-name" />
+                <xml-property name="container" value="vpls-pes" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="MulticastConfigurations">
+            <xml-properties>
+                <xml-property name="description" value="multicast configuration of generic-vnf ip-address" />
+            </xml-properties>
+            <xml-root-element name="multicast-configurations" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.openecomp.org.v10.MulticastConfiguration" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="MulticastConfiguration">
+            <xml-root-element name="multicast-configuration" />
+            <java-attributes>
+                <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of multicast configuration." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="protocol of multicast configuration" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="rp type of multicast configuration" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="multicast-configuration-id" />
+                <xml-property name="uniqueProps" value="multicast-configuration-id" />
+                <xml-property name="container" value="multicast-configurations" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Vces">
+            <xml-properties>
+                <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma.  This object is deprecated." />
+            </xml-properties>
+            <xml-root-element name="vces" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.openecomp.org.v10.Vce" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Vce">
+            <xml-root-element name="vce" />
+            <java-attributes>
+                <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of VNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Alternate name of VNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicator for whether the resource is considered operational" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="OBSOLETE -  do not use" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Network role being played by this VNF" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of VPE connected to this VCE." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router.  Implied length of /64." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Loopback0 address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="OBSOLETE -  see child relationships" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.openecomp.org.v10.PortGroups" />
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v10.Licenses" />
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v10.Entitlements" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma.  This object is deprecated." />
+                <xml-property name="nameProps" value="vnf-name" />
+                <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id" />
+                <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
+                <xml-property name="uniqueProps" value="vnf-id" />
+                <xml-property name="container" value="vces" />
+                <xml-property name="namespace" value="network" />
+                <xml-property name="extends" value="vnf" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="PortGroups">
+            <xml-root-element name="port-groups" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.openecomp.org.v10.PortGroup" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="PortGroup">
+            <xml-root-element name="port-group" />
+            <java-attributes>
+                <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of the interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron network id of this Interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron network name of this Interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID for port group in vmware" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Likely to duplicate value of neutron network name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.openecomp.org.v10.CvlanTags" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Used to capture the network interfaces of this VCE" />
+                <xml-property name="nameProps" value="port-group-name" />
+                <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name" />
+                <xml-property name="dependentOn" value="vce" />
+                <xml-property name="container" value="port-groups" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="CvlanTags">
+            <xml-root-element name="cvlan-tags" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.openecomp.org.v10.CvlanTagEntry" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="CvlanTagEntry">
+            <xml-root-element name="cvlan-tag-entry" />
+            <java-attributes>
+                <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="See mis-na-virtualization-platform.yang" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="dependentOn" value="port-group" />
+                <xml-property name="indexedProps" value="cvlan-tag" />
+                <xml-property name="container" value="cvlan-tags" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Vpes">
+            <xml-properties>
+                <xml-property name="description" value="Virtual provider edge router. In 1504, A&amp;AI will populate this object through an M&amp;P and tool provided to operations." />
+            </xml-properties>
+            <xml-root-element name="vpes" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vpe" name="vpe" type="inventory.aai.openecomp.org.v10.Vpe" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Vpe">
+            <xml-root-element name="vpe" />
+            <java-attributes>
+                <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of VNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Alternate name of VNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier of service.  Does not map strictly to ASDC services.  SOON TO BE DEPRECATED" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicator for whether the resource is considered operational" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="OBSOLETE -  do not use.  See child relationships." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Client should send valid enumerated value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Prefix length for oam-address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Gateway address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="v4Loopback0IpAddress" name="v4-loopback0-ip-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Loopback0 address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Temporary location for stag to get to VCE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="as-number of the VPE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="details regarding the vpe operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="indicates whether vpe access uses SSH" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v10.Licenses" />
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v10.Entitlements" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Relationship-list must include related to info for complex." />
+                <xml-property name="nameProps" value="vnf-name" />
+                <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,regional-resource-zone,prov-status,service-id" />
+                <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
+                <xml-property name="uniqueProps" value="vnf-id" />
+                <xml-property name="container" value="vpes" />
+                <xml-property name="namespace" value="network" />
+                <xml-property name="extends" value="vnf" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Vnfcs">
+            <xml-properties>
+                <xml-property name="description" value="virtual network components associated with a vserver from application controller." />
+            </xml-properties>
+            <xml-root-element name="vnfcs" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.openecomp.org.v10.Vnfc" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Vnfc">
+            <xml-root-element name="vnfc" />
+            <java-attributes>
+                <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of vnfc." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfcFunctionCode" name="vnfc-function-code" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="function code" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfcType" name="vnfc-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="type" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="prov status of this vnfc" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Oam V4 vip address of this vnfc" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Group notation of VNFC" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation" />
+                <xml-property name="searchable" value="vnfc-name" />
+                <xml-property name="container" value="vnfcs" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="L3Networks">
+            <xml-root-element name="l3-networks" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.openecomp.org.v10.L3Network" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="L3Network">
+            <xml-root-element name="l3-network" />
+            <java-attributes>
+                <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the network, governed by some naming convention.." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Type of the network - who defines these values?" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Role the network plans - who defines these values?" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Network technology - who defines these values?" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron network id of this Interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="isBoundToVpn" name="is-bound-to-vpn" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Set to true if bound to VPN" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier of service from ASDC.  Does not strictly map to ASDC services.  SOON TO BE DEPRECATED" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="network role instance" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Contrail FQDN for the network" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="model-version-id" />
+                        <xml-property name="dbAlias" value="model-invariant-id-local" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="model-invariant-id" />
+                        <xml-property name="dbAlias" value="model-version-id-local" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="internal" />
+                        <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name associated with the physical network." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="boolean indicatating whether or not network is a provider network." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="boolean indicatating whether or not network is a shared network." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="boolean indicatating whether or not network is an external network." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Path to the controller object." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicator for whether the resource is considered operational." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.openecomp.org.v10.Subnets" />
+                <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.openecomp.org.v10.CtagAssignments" />
+                <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.openecomp.org.v10.SegmentationAssignments" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" >
+                    <xml-properties>
+                        <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding" />
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Generic network definition" />
+                <xml-property name="nameProps" value="network-name" />
+                <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-network-fqdn,network-role" />
+                <xml-property name="searchable" value="network-id,network-name" />
+                <xml-property name="uniqueProps" value="network-id" />
+                <xml-property name="container" value="l3-networks" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+        <java-type name="NetworkPolicies">
+            <xml-root-element name="network-policies" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.openecomp.org.v10.NetworkPolicy" />
+            </java-attributes>
+        </java-type>
+        <java-type name="NetworkPolicy">
+            <xml-root-element name="network-policy" />
+            <java-attributes>
+                <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID representing unique key to this instance" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Contrail FQDN for the policy" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ID for the openStack Heat instance" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="nameProps" value="network-policy-fqdn" />
+                <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn" />
+                <xml-property name="searchable" value="network-policy-id,network-policy-fqdn" />
+                <xml-property name="uniqueProps" value="network-policy-id" />
+                <xml-property name="container" value="network-policies" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+        <java-type name="CtagAssignments">
+            <xml-root-element name="ctag-assignments" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.openecomp.org.v10.CtagAssignment" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="CtagAssignment">
+            <xml-root-element name="ctag-assignment" />
+            <java-attributes>
+                <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="id." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="vlan-id-inner" />
+                <xml-property name="dependentOn" value="l3-network" />
+                <xml-property name="container" value="ctag-assignments" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Subnets">
+            <xml-root-element name="subnets" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.openecomp.org.v10.Subnet" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Subnet">
+            <xml-root-element name="subnet" />
+            <java-attributes>
+                <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Subnet ID, should be UUID." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name associated with the subnet." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron id of this subnet" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="gateway ip address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="network start address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="cidr mask" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ip version" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="dhcpEnabled" name="dhcp-enabled" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="dhcp enabled" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the start address reserved for use by dhcp" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the last address reserved for use by dhcp" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="subnet-id,subnet-name" />
+                <xml-property name="nameProps" value="subnet-name" />
+                <xml-property name="uniqueProps" value="subnet-id" />
+                <xml-property name="dependentOn" value="l3-network" />
+                <xml-property name="container" value="subnets" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="GenericVnfs">
+            <xml-properties>
+                <xml-property name="description" value="Collection of VNFs" />
+            </xml-properties>
+            <xml-root-element name="generic-vnfs" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.openecomp.org.v10.GenericVnf" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="GenericVnf">
+            <xml-root-element name="generic-vnf" />
+            <java-attributes>
+                <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of VNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Alternate name of VNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier of service, does not necessarily map to ASDC service models.  SOON TO BE DEPRECATED" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+                        <xml-property name="suggestibleOnSearch" value="true"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicator for whether the resource is considered operational.  Valid values are in-service-path and out-of-service-path." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="OBSOLETE -  do not use" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Client should send valid enumerated value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this VNF, used by MSO." />
+                        <xml-property name="suggestibleOnSearch" value="true"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="identifier of managed by company or customer" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="v4 Loopback0 address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="v6 Loopback address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="v6 management address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="indicates whether generic-vnf access uses SSH" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="entitlementAssignmentGroupUuid" name="entitlement-assignment-group-uuid" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of the Entitlement group used for licensing VNFs, OBSOLETE -  See child relationships." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of the specific entitlement resource.  OBSOLETE -  See child relationships." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="licenseAssignmentGroupUuid" name="license-assignment-group-uuid" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of the license assignment group.  OBSOLETE -  See child relationships." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="licenseKeyUuid" name="license-key-uuid" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of the actual license resource.  OBSOLETE -  See child relationships." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="model-version-id" />
+                        <xml-property name="dbAlias" value="model-invariant-id-local" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="model-invariant-id" />
+                        <xml-property name="dbAlias" value="model-version-id-local" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="internal" />
+                        <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="as-number of the VNF" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="represents sub zone of the rr plane" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nfType" name="nf-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Generic description of the type of NF" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nfFunction" name="nf-function" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="English description of Network function that the specific VNF deployment is providing" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="role in the network that this model will be providing" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nfNamingCode" name="nf-naming-code" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="string assigned to this model used for naming purposes" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Path to the controller object." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
+                <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.openecomp.org.v10.VfModules" />
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v10.Licenses" />
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v10.Entitlements" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="General purpose VNF" />
+                <xml-property name="nameProps" value="vnf-name" />
+                <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role" />
+                <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
+                <xml-property name="uniqueProps" value="vnf-id" />
+                <xml-property name="container" value="generic-vnfs" />
+                <xml-property name="namespace" value="network" />
+                <xml-property name="extends" value="vnf" />
+                <xml-property name="containsSuggestibleProps" value="true"/>
+                <xml-property name="suggestionAliases" value="VNFs"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VfModules">
+            <xml-properties>
+                <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs" />
+            </xml-properties>
+            <xml-root-element name="vf-modules" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.openecomp.org.v10.VfModule" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VfModule">
+            <xml-root-element name="vf-module" />
+            <java-attributes>
+                <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of vf-module." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of vf-module" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Heat stack id corresponding to this instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="isBaseVfModule" name="is-base-vf-module" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="used to indicate whether or not this object is base vf module" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="model-version-id" />
+                        <xml-property name="dbAlias" value="model-invariant-id-local" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="model-invariant-id" />
+                        <xml-property name="dbAlias" value="model-version-id-local" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="internal" />
+                        <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the Contrail unique ID for a service-instance" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="moduleIndex" name="module-index" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Path to the controller object." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="a deployment unit of VNFCs" />
+                <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,contrail-service-instance-fqdn" />
+                <xml-property name="searchable" value="vf-module-id,vf-module-name" />
+                <xml-property name="dependentOn" value="generic-vnf" />
+                <xml-property name="container" value="vf-modules" />
+            </xml-properties>
+        </java-type>
+
+
+        <java-type name="LagLinks">
+            <xml-properties>
+                <xml-property name="description" value="Collection of link aggregation connections" />
+            </xml-properties>
+            <xml-root-element name="lag-links" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.openecomp.org.v10.LagLink" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="LagLink">
+            <xml-root-element name="lag-link" />
+            <java-attributes>
+                <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Alphabetical concatenation of lag-interface names" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="LAG links can connect lag-interfaces" />
+                <xml-property name="indexedProps" value="link-name" />
+                <xml-property name="container" value="lag-links" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Newvces">
+            <xml-properties>
+                <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
+            </xml-properties>
+            <xml-root-element name="newvces" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.openecomp.org.v10.Newvce" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Newvce">
+            <xml-root-element name="newvce" />
+            <java-attributes>
+                <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of VNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Alternate name of VNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicator for whether the resource is considered operational" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="OBSOLETE -  do not use" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Client should send valid enumerated value, e.g., VPE." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="v4 Loopback0 address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v10.LInterfaces" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
+                <xml-property name="nameProps" value="vnf-name" />
+                <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2" />
+                <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2" />
+                <xml-property name="uniqueProps" value="vnf-id2" />
+                <xml-property name="container" value="newvces" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Pnfs">
+            <xml-properties>
+                <xml-property name="description" value="Collection of Physical Network Functions." />
+            </xml-properties>
+            <xml-root-element name="pnfs" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.openecomp.org.v10.Pnf" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Pnf">
+            <xml-root-element name="pnf" />
+            <java-attributes>
+                <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="unique name of Physical Network Function." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="name of Physical Network Function." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="source of name2" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="id of pnf" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="identifier of managed by company or customer" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Serial number of the device" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV4 Loopback 0 address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV6 Loopback 0 address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV4 AIM address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV6 AIM address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV6 OAM address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Nf Role is the role performed by this instance in the network." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v10.PInterfaces" />
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v10.LagInterfaces" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world." />
+                <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status" />
+                <xml-property name="searchable" value="pnf-name" />
+                <xml-property name="uniqueProps" value="pnf-name" />
+                <xml-property name="container" value="pnfs" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="PhysicalLinks">
+            <xml-properties>
+                <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
+            </xml-properties>
+            <xml-root-element name="physical-links" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.openecomp.org.v10.PhysicalLink" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="PhysicalLink">
+            <xml-root-element name="physical-link" />
+            <java-attributes>
+                <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the numeric part of the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the units corresponding to the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Circuit it" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Dual access mode (e.g., primary, secondary" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the service Provider on this link." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
+                <xml-property name="indexedProps" value="circuit-id,link-name" />
+                <xml-property name="alternateKeys1" value="circuit-id" />
+                <xml-property name="container" value="physical-links" />
+                <xml-property name="namespace" value="network" />
+                <xml-property name="searchable" value="link-name,circuit-id" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VigServers">
+            <xml-root-element name="vig-servers" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.openecomp.org.v10.VigServer" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VigServer">
+            <xml-root-element name="vig-server" />
+            <java-attributes>
+                <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String" >
+                    <xml-properties>
+                        <xml-property name="description" value="v4 IP of the vig server" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String" >
+                    <xml-properties>
+                        <xml-property name="description" value="v6 IP of the vig server" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607" />
+                <xml-property name="indexedProps" value="vig-address-type" />
+                <xml-property name="dependentOn" value="ipsec-configuration" />
+                <xml-property name="container" value="vig-servers" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="IpsecConfigurations">
+            <xml-root-element name="ipsec-configurations" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.openecomp.org.v10.IpsecConfiguration" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="IpsecConfiguration">
+            <xml-root-element name="ipsec-configuration" />
+            <java-attributes>
+                <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of this configuration" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="can offer a shared DMZ or a DMZ specific to a customer" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Network address of shared DMZ" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="can be 1 or 2" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc,ƃā€šĆ‚Ā aes-192-cbc, aes-265-cbc" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="pre-shared key for the above group name " />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Lifetime for IKEv1 SA" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="md5, sha1, sha256, sha384" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc,ƃā€šĆ‚Ā aes-192-cbc, aes-265-cbc" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Life time for IPSec SA" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="enable PFS or not" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="user ID for xAuth, sm-user, ,nmteHostName" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The time between DPD probe" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+                <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.openecomp.org.v10.VigServers" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C" />
+                <xml-property name="indexedProps" value="ipsec-configuration-id" />
+                <xml-property name="uniqueProps" value="ipsec-configuration-id" />
+                <xml-property name="container" value="ipsec-configurations" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+
+        <java-type name="NotificationEvent">
+            <xml-root-element name="notification-event" />
+            <java-attributes>
+                <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String" />
+                <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.openecomp.org.v10.NotificationEventHeader" />
+                <xml-any-element java-attribute="entity" />
+            </java-attributes>
+        </java-type>
+        <java-type name="NotificationEventHeader">
+            <xml-root-element name="notification-event-header" />
+            <java-attributes>
+                <xml-element java-attribute="id" name="id" type="java.lang.String" />
+                <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String" />
+                <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String" />
+                <xml-element java-attribute="domain" name="domain" type="java.lang.String" />
+                <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String" />
+                <xml-element java-attribute="severity" name="severity" type="java.lang.String" />
+                <xml-element java-attribute="eventType" name="event-type" type="java.lang.String" />
+                <xml-element java-attribute="version" name="version" type="java.lang.String" />
+                <xml-element java-attribute="action" name="action" type="java.lang.String" />
+                <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String" />
+                <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String" />
+                <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String" />
+                <xml-element java-attribute="status" name="status" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+        <java-type name="AaiInternal">
+            <xml-root-element name="aai-internal" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.openecomp.org.v10.ReservedPropNames" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.openecomp.org.v10.EdgePropNames" />
+            </java-attributes>
+        </java-type>
+        <java-type name="ReservedPropNames">
+            <xml-properties>
+                <xml-property name="description" value="Internal map to define some reserved properties of a vertex" />
+                <xml-property name="uniqueProps" value="aai-unique-key" />
+                <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri" />
+            </xml-properties>
+            <xml-root-element name="reserved-prop-names" />
+            <java-attributes>
+                <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String" />
+                <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String" />
+                <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long" />
+                <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String" />
+                <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long" />
+                <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String" />
+                <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+        <java-type name="EdgePropNames">
+            <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
+            <xml-properties>
+                <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules" />
+                <xml-property name="edgeInfo" value="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV" />
+            </xml-properties>
+            <xml-root-element name="edge-prop-names" />
+            <java-attributes>
+                <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String" />
+                <xml-element java-attribute="direction" name="direction" type="java.lang.String" />
+                <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String" />
+                <xml-element java-attribute="isParent" name="isParent" type="java.lang.Boolean" />
+                <xml-element java-attribute="usesResource" name="usesResource" type="java.lang.Boolean" />
+                <xml-element java-attribute="hasDelTarget" name="hasDelTarget" type="java.lang.Boolean" />
+                <xml-element java-attribute="SVC-INFRA" name="SVC-INFRA" type="java.lang.Boolean" />
+                <xml-element java-attribute="SVC-INFRA-REV" name="SVC-INFRA-REV" type="java.lang.Boolean" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Models">
+            <xml-properties>
+                <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models" />
+            </xml-properties>
+            <xml-root-element name="models" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.openecomp.org.v10.Model" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Model">
+            <xml-root-element name="model" />
+            <xml-properties>
+                <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version" />
+                <xml-property name="nameProps" value="model-type" />
+                <xml-property name="indexedProps" value="model-invariant-id,model-type" />
+                <xml-property name="uniqueProps" value="model-invariant-id" />
+                <xml-property name="container" value="models" />
+                <xml-property name="namespace" value="service-design-and-creation" />
+            </xml-properties>
+            <java-attributes>
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v10.ModelVers" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+
+        <java-type name="ModelVers">
+            <xml-root-element name="model-vers" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.openecomp.org.v10.ModelVer" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ModelVer">
+            <xml-root-element name="model-ver" />
+            <xml-properties>
+                <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models" />
+                <xml-property name="nameProps" value="model-name" />
+                <xml-property name="indexedProps" value="model-version-id,model-name,model-version" />
+                <xml-property name="uniqueProps" value="model-version-id" />
+                <xml-property name="container" value="model-vers" />
+            </xml-properties>
+            <java-attributes>
+                <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the model, which can change from version to version." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Version" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Description" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v10.ModelElements" />
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v10.Metadata" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ModelElements">
+            <xml-root-element name="model-elements" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.openecomp.org.v10.ModelElement" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ModelElement">
+            <xml-properties>
+                <xml-property name="description" value="Defines how other models combine to make up a higher-level model." />
+                <xml-property name="uniqueProps" value="model-element-uuid" />
+                <xml-property name="indexedProps" value="model-element-uuid" />
+                <xml-property name="allowDirectRead" value="true" />
+                <xml-property name="allowDirectWrite" value="false" />
+                <xml-property name="container" value="model-elements" />
+            </xml-properties>
+            <xml-root-element name="model-element" />
+            <java-attributes>
+                <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="autoGenerateUuid" value="true" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="How many of this type of element are required/allowed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String" >
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v10.ModelElements">
+                    <xml-properties>
+                        <xml-property name="description" value="Defines how other models combine to make up a higher-level model" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.openecomp.org.v10.ModelConstraints">
+                    <xml-properties>
+                        <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ModelConstraints">
+            <xml-root-element name="model-constraints" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.openecomp.org.v10.ModelConstraint" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ModelConstraint">
+            <xml-properties>
+                <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
+                <xml-property name="uniqueProps" value="model-constraint-uuid" />
+                <xml-property name="indexedProps" value="model-constraint-uuid" />
+                <xml-property name="allowDirectRead" value="true" />
+                <xml-property name="allowDirectWrite" value="false" />
+                <xml-property name="container" value="model-constraints" />
+            </xml-properties>
+            <xml-root-element name="model-constraint" />
+            <java-attributes>
+                <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="autoGenerateUuid" value="true" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String" />
+                <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.openecomp.org.v10.ConstrainedElementSets" />
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ConstrainedElementSets">
+            <xml-root-element name="constrained-element-sets" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.openecomp.org.v10.ConstrainedElementSet" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ConstrainedElementSet">
+            <xml-properties>
+                <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
+                <xml-property name="uniqueProps" value="constrained-element-set-uuid" />
+                <xml-property name="indexedProps" value="constrained-element-set-uuid" />
+                <xml-property name="allowDirectRead" value="true" />
+                <xml-property name="allowDirectWrite" value="false" />
+                <xml-property name="container" value="constrained-element-sets" />
+            </xml-properties>
+            <xml-root-element name="constrained-element-set" />
+            <java-attributes>
+                <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="autoGenerateUuid" value="true" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
+                <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String" />
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+                <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.openecomp.org.v10.ElementChoiceSets" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ElementChoiceSets">
+            <xml-root-element name="element-choice-sets" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.openecomp.org.v10.ElementChoiceSet" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ElementChoiceSet">
+            <xml-properties>
+                <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
+                <xml-property name="uniqueProps" value="element-choice-set-uuid" />
+                <xml-property name="indexedProps" value="element-choice-set-uuid" />
+                <xml-property name="allowDirectRead" value="true" />
+                <xml-property name="allowDirectWrite" value="false" />
+                <xml-property name="container" value="element-choice-sets" />
+            </xml-properties>
+            <xml-root-element name="element-choice-set" />
+            <java-attributes>
+                <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="autoGenerateUuid" value="true" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String" />
+                <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String" />
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+                <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v10.ModelElements" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="NamedQueries">
+            <xml-root-element name="named-queries" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v10.NamedQuery" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="NamedQuery">
+            <xml-properties>
+                <xml-property name="description" value="TBD" />
+                <xml-property name="nameProps" value="named-query-name" />
+                <xml-property name="uniqueProps" value="named-query-uuid" />
+                <xml-property name="indexedProps" value="named-query-uuid,named-query-name" />
+                <xml-property name="container" value="named-queries" />
+                <xml-property name="namespace" value="service-design-and-creation" />
+            </xml-properties>
+            <xml-root-element name="named-query" />
+            <java-attributes>
+                <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true" />
+                <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String" />
+                <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String" >
+                    <xml-element-wrapper name="required-input-params" />
+                </xml-element>
+                <xml-element java-attribute="description" name="description" type="java.lang.String" />
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+                <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v10.NamedQueryElements" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="NamedQueryElements">
+            <xml-root-element name="named-query-elements" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.openecomp.org.v10.NamedQueryElement" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="NamedQueryElement">
+            <xml-properties>
+                <xml-property name="description" value="TBD" />
+                <xml-property name="uniqueProps" value="named-query-element-uuid" />
+                <xml-property name="indexedProps" value="named-query-element-uuid" />
+                <xml-property name="allowDirectRead" value="true" />
+                <xml-property name="allowDirectWrite" value="false" />
+                <xml-property name="container" value="named-query-elements" />
+            </xml-properties>
+            <xml-root-element name="named-query-element" />
+            <java-attributes>
+                <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="autoGenerateUuid" value="true" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+                <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String" />
+                <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String" />
+                <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v10.NamedQueryElements" />
+                <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.openecomp.org.v10.RelatedLookups" />
+                <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.openecomp.org.v10.PropertyConstraints" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="RelatedLookups">
+            <xml-root-element name="related-lookups" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.openecomp.org.v10.RelatedLookup" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="RelatedLookup">
+            <xml-properties>
+                <xml-property name="description" value="TBD" />
+                <xml-property name="uniqueProps" value="related-lookup-uuid" />
+                <xml-property name="indexedProps" value="related-lookup-uuid" />
+                <xml-property name="allowDirectRead" value="true" />
+                <xml-property name="allowDirectWrite" value="false" />
+                <xml-property name="container" value="related-lookups" />
+            </xml-properties>
+            <xml-root-element name="related-lookup" />
+            <java-attributes>
+                <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="autoGenerateUuid" value="true" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String" />
+                <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String" />
+                <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String" />
+                <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="PropertyConstraints">
+            <xml-root-element name="property-constraints" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.openecomp.org.v10.PropertyConstraint" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="PropertyConstraint">
+            <xml-properties>
+                <xml-property name="description" value="TBD" />
+                <xml-property name="uniqueProps" value="property-constraint-uuid" />
+                <xml-property name="indexedProps" value="property-constraint-uuid" />
+                <xml-property name="allowDirectRead" value="true" />
+                <xml-property name="allowDirectWrite" value="false" />
+                <xml-property name="container" value="property-constraints" />
+            </xml-properties>
+            <xml-root-element name="property-constraint" />
+            <java-attributes>
+                <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="autoGenerateUuid" value="true" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
+                <xml-element java-attribute="propertyName" name="property-name" required="true" type="java.lang.String" />
+                <xml-element java-attribute="propertyValue" name="property-value" required="true" type="java.lang.String" />
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ModelAndNamedQuerySearch">
+            <xml-properties>
+                <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query" />
+            </xml-properties>
+            <xml-root-element name="model-and-named-query-search" />
+            <java-attributes>
+                <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.openecomp.org.v10.QueryParameters" />
+                <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.openecomp.org.v10.InstanceFilters" />
+                <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.openecomp.org.v10.SecondaryFilts" />
+                <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String" />
+                <xml-element java-attribute="secondaryFilterCutPoint" name="secondary-filter-cut-point" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="QueryParameters">
+            <xml-properties>
+                <xml-property name="description" value="QueryParameters for performing a named-query or model query" />
+            </xml-properties>
+            <xml-root-element name="query-parameters" />
+            <java-attributes>
+                <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v10.NamedQuery" />
+                <xml-element java-attribute="model" name="model" type="inventory.aai.openecomp.org.v10.OverloadedModel" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="OverloadedModel">
+            <xml-root-element name="overloaded-model" />
+            <xml-properties>
+                <xml-property name="description" value="Allows for legacy POST of old-style and new-style models" />
+            </xml-properties>
+            <java-attributes>
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the model, which can change from version to version." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Invariant unique ID which does not change from version to version" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Version" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Description" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v10.ModelVers" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="InstanceFilters">
+            <xml-properties>
+                <xml-property name="description" value="InstanceFilters for performing a named-query or model query" />
+            </xml-properties>
+            <xml-root-element name="instance-filters" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.openecomp.org.v10.InstanceFilter" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="InstanceFilter">
+            <xml-properties>
+                <xml-property name="description" value="InstanceFilter for performing a named-query or model query" />
+                <xml-property name="container" value="instance-filters" />
+            </xml-properties>
+            <xml-root-element name="instance-filter" />
+            <java-attributes>
+                <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SecondaryFilts">
+            <xml-properties>
+                <xml-property name="description" value="SecondaryFilts for performing a named-query or model query" />
+            </xml-properties>
+            <xml-root-element name="secondary-filts" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilt" name="secondary-filt" type="inventory.aai.openecomp.org.v10.SecondaryFilt" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SecondaryFilt">
+            <xml-properties>
+                <xml-property name="description" value="SecondaryFilt for performing a named-query or model query" />
+            </xml-properties>
+            <xml-root-element name="secondary-filt" />
+            <java-attributes>
+                <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Properties">
+            <xml-properties>
+                <xml-property name="description" value="Property holder for query properties or instance properties" />
+            </xml-properties>
+            <xml-root-element name="properties" />
+            <java-attributes>
+                <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+                <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ResponseList">
+            <xml-properties>
+                <xml-property name="description" value="Response container for the results of a named-query or model query" />
+            </xml-properties>
+            <xml-root-element name="response-list" />
+            <java-attributes>
+                <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v10.InventoryResponseItems" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="InventoryResponseItems">
+            <xml-properties>
+                <xml-property name="description" value="Container for inventory items in response list" />
+                <xml-property name="container" value="response-list" />
+            </xml-properties>
+            <xml-root-element name="inventory-response-items" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.openecomp.org.v10.InventoryResponseItem" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="InventoryResponseItem">
+            <xml-properties>
+                <xml-property name="description" value="Inventory item for response list" />
+                <xml-property name="container" value="inventory-response-items" />
+            </xml-properties>
+            <xml-root-element name="inventory-response-item" />
+            <java-attributes>
+                <xml-element java-attribute="modelName" name="model-name" type="java.lang.String" />
+                <xml-any-element java-attribute="item" />
+                <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.openecomp.org.v10.ExtraProperties" />
+                <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v10.InventoryResponseItems" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ExtraProperties">
+            <xml-properties>
+                <xml-property name="description" value="Extra properties for inventory item for response list" />
+            </xml-properties>
+            <xml-root-element name="extra-properties" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.openecomp.org.v10.ExtraProperty" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ExtraProperty">
+            <xml-root-element name="extra-property" />
+            <java-attributes>
+                <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+                <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="RouteTableReferences">
+            <xml-properties>
+                <xml-property name="description" value="Collection of openstack route table references" />
+            </xml-properties>
+            <xml-root-element name="route-table-references" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.openecomp.org.v10.RouteTableReference" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="RouteTableReference">
+            <xml-root-element name="route-table-reference" />
+            <java-attributes>
+                <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="FQDN entry in the route table." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Concurrency value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+
+            <xml-properties>
+                <xml-property name="description" value="Openstack route table reference." />
+                <xml-property name="nameProps" value="route-table-reference-fqdn" />
+                <xml-property name="uniqueProps" value="route-table-reference-id" />
+                <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn" />
+                <xml-property name="container" value="route-table-references" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="InstanceGroups">
+            <xml-properties>
+                <xml-property name="description" value="Collection of openstack route table references" />
+            </xml-properties>
+            <xml-root-element name="instance-groups" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="instanceGroup" name="instance-group" type="inventory.aai.openecomp.org.v10.InstanceGroup" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="InstanceGroup">
+            <xml-root-element name="instance-group" />
+            <java-attributes>
+                <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Instance Group ID, UUID assigned to this instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="description" name="description" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Descriptive text to help identify the usage of this instance-group" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="type" name="type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Only valid value today is lower case ha for high availability" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="subType" name="sub-type"  type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Concurrency value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+
+            <xml-properties>
+                <xml-property name="description" value="General mechanism for grouping instances" />
+                <xml-property name="nameProps" value="description" />
+                <xml-property name="uniqueProps" value="id" />
+                <xml-property name="indexedProps" value="id,description,type,sub-type" />
+                <xml-property name="container" value="instance-groups" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+
+        <java-type name="SegmentationAssignments">
+            <xml-properties>
+                <xml-property name="description" value="Collection of openstack segmentation assignments" />
+            </xml-properties>
+            <xml-root-element name="segmentation-assignments" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.openecomp.org.v10.SegmentationAssignment" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SegmentationAssignment">
+            <xml-root-element name="segmentation-assignment" />
+            <java-attributes>
+                <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Concurrency value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Openstack segmentation assignment." />
+                <xml-property name="indexedProps" value="segmentation-id" />
+                <xml-property name="dependentOn" value="l3-network" />
+                <xml-property name="container" value="segmentation-assignments" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="AllottedResources">
+            <xml-properties>
+                <xml-property name="description" value="This object is used to store slices of services being offered" />
+            </xml-properties>
+            <xml-root-element name="allotted-resources" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="allottedResource" name="allotted-resource" type="inventory.aai.openecomp.org.v10.AllottedResource" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="AllottedResource">
+            <xml-root-element name="allotted-resource" />
+            <java-attributes>
+                <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="description" name="description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The descriptive information assigned to this allotted resource instance" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Link back to more information in the controller" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="model-version-id" />
+                        <xml-property name="dbAlias" value="model-invariant-id-local" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="model-invariant-id" />
+                        <xml-property name="dbAlias" value="model-version-id-local" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="internal" />
+                        <xml-property name="dataCopy" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Concurrency value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicator for whether the resource is considered operational" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="type" name="type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Generic description of the type of allotted resource." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="role" name="role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="role in the network that this resource will be providing." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.openecomp.org.v10.TunnelXconnects" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+
+            <xml-properties>
+                <xml-property name="description" value="Represents a slice or partial piece of a resource that gets separately allotted" />
+                <xml-property name="nameProps" value="description" />
+                <xml-property name="uniqueProps" value="id" />
+                <xml-property name="indexedProps" value="id,model-invariant-id,model-version-id,type,role" />
+                <xml-property name="dependentOn" value="service-instance" />
+                <xml-property name="container" value="allotted-resources" />
+                <!--  <xml-property name="namespace" value="network" /> -->
+            </xml-properties>
+        </java-type>
+
+        <java-type name="TunnelXconnects">
+            <xml-properties>
+                <xml-property name="description" value="This object is used to store the specific tunnel cross connect aspects of an allotted resource" />
+            </xml-properties>
+            <xml-root-element name="tunnel-xconnects" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="tunnelXconnect" name="tunnel-xconnect" type="inventory.aai.openecomp.org.v10.TunnelXconnect" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="TunnelXconnect">
+            <xml-root-element name="tunnel-xconnect" />
+            <java-attributes>
+                <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The WAN uplink bandwidth for WAN1" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The WAN downlink bandwidth for WAN1" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The WAN uplink bandwidth for WAN2" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The WAN downlink bandwidth for WAN2" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Concurrency value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+
+            <xml-properties>
+                <xml-property name="description" value="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted" />
+                <xml-property name="uniqueProps" value="id" />
+                <xml-property name="indexedProps" value="id" />
+                <xml-property name="dependentOn" value="allotted-resource" />
+                <xml-property name="container" value="tunnel-xconnects" />
+                <!--  <xml-property name="namespace" value="network" /> -->
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Entitlements">
+            <xml-properties>
+                <xml-property name="description" value="Entitlements, keyed by group-uuid and resource-uuid, related to license management" />
+            </xml-properties>
+            <xml-root-element name="entitlements" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="entitlement" name="entitlement" type="inventory.aai.openecomp.org.v10.Entitlement" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Entitlement">
+            <xml-root-element name="entitlement" />
+            <java-attributes>
+                <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID for the entitlement group the resource comes from, should be uuid." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of an entitlement resource. " />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Concurrency value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Metadata for entitlement group." />
+                <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
+                <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
+                <xml-property name="container" value="entitlements" />
+            </xml-properties>
+        </java-type>
+
+
+        <java-type name="Licenses">
+            <xml-properties>
+                <xml-property name="description" value="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management" />
+            </xml-properties>
+            <xml-root-element name="licenses" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="license" name="license" type="inventory.aai.openecomp.org.v10.License" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="License">
+            <xml-root-element name="license" />
+            <java-attributes>
+                <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID for the license group the resource belongs to, should be uuid." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of a license resource. " />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Concurrency value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Metadata for license group." />
+                <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
+                <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
+                <xml-property name="container" value="licenses" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Vnf">
+            <xml-root-element name="vnf"/>
+            <java-attributes>
+                <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Abstract vnf class" />
+                <xml-property name="indexedProps" value="vnf-id" />
+                <xml-property name="uniqueProps" value="vnf-id" />
+                <xml-property name="inheritors" value="vce,vpe,generic-vnf" />
+                <xml-property name="abstract" value="true" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Zones">
+            <xml-properties>
+                <xml-property name="description" value="Collection of zones" />
+            </xml-properties>
+            <xml-root-element name="zones" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="zone" name="zone" type="inventory.aai.openecomp.org.v10.Zone" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Zone">
+            <xml-root-element name="zone" />
+            <java-attributes>
+                <xml-element java-attribute="zoneId" name="zone-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Code assigned by AIC to the zone" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="zoneName" name="zone-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="English name associated with the zone" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Design of zone [Medium/LargeĆ¢ā‚¬Ā¦]" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="zoneContext" name="zone-context" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Context of zone [production/test]" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="status" name="status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Status of a zone." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Concurrency value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="A zone is a grouping of assets in a location homing to the same connections into the CBB" />
+                <xml-property name="nameProps" value="zone-name" />
+                <xml-property name="indexedProps" value="zone-id,design-type,zone-context" />
+                <xml-property name="uniqueProps" value="zone-id" />
+                <xml-property name="container" value="zones" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+        <java-type name="RouteTargets">
+            <xml-properties>
+                <xml-property name="description" value="Collection of route target information" />
+            </xml-properties>
+            <xml-root-element name="route-targets" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="routeTarget" name="route-target" type="inventory.aai.openecomp.org.v10.RouteTarget" />
+            </java-attributes>
+        </java-type>
+        <java-type name="RouteTarget">
+            <xml-root-element name="route-target" />
+            <java-attributes>
+                <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" xml-key="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Number used to identify an RT, globally unique in the network" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routeTargetRole" name="route-target-role" required="true" xml-key="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Role assigned to this route target" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v10.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Route target information" />
+                <xml-property name="container" value="route-targets" />
+                <xml-property name="dependentOn" value="vpn-binding" />
+                <xml-property name="canBeLinked" value="true" />
+            </xml-properties>
+        </java-type>
+    </java-types>
 </xml-bindings>
index 3ed2ea5..3bfe59d 100644 (file)
@@ -8,9 +8,7 @@
   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
-  
+     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.
                <java-type name="Search">
                        <xml-root-element name="search" />
                        <java-attributes>
+                               <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.openecomp.org.v8.EdgeTagQueryResult" />
+                               <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.openecomp.org.v8.EdgeTagQueryRequest" />
                                <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.openecomp.org.v8.SearchResults" />
+                               <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.openecomp.org.v8.SdnZoneResponse" />
                        </java-attributes>
                </java-type>
 
+               <java-type name="EdgeTagQueryResult">
+                       <xml-root-element name="edge-tag-query-result" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v8.TaggedInventoryItemList" />
+                       </java-attributes>
+               </java-type>
 
                <java-type name="TaggedInventoryItemList">
                        <xml-root-element name="tagged-inventory-item-list" />
                        </java-attributes>
                </java-type>
 
+               <java-type name="EdgeTagQueryRequest">
+                       <xml-root-element name="edge-tag-query-request" />
+                       <java-attributes>
+                               <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String" />
+                               <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String" />
+                               <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String" />
+                               <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.openecomp.org.v8.StartNodeFilter" />
+                               <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.openecomp.org.v8.IncludeNodeFilter" />
+                               <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.openecomp.org.v8.SecondaryFilter" />
+                       </java-attributes>
+               </java-type>
 
                <java-type name="StartNodeFilter">
                        <xml-root-element name="start-node-filter" />
                        <java-attributes>
                                <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="The specific type of node in the AAI graph" />
+                                               <xml-property name="description" value="The specific type of node in the A&amp;AI graph" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
                        </java-attributes>
                </java-type>
 
+               <java-type name="SdnZoneResponse">
+                       <xml-root-element name="sdn-zone-response" />
+                       <java-attributes>
+                               <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v8.OamNetworks" />
+                               <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.openecomp.org.v8.AzAndDvsSwitches" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="AzAndDvsSwitches">
+                       <xml-root-element name="az-and-dvs-switches" />
+                       <java-attributes>
+                               <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v8.DvsSwitches" />
+                               <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v8.AvailabilityZone" />
+                       </java-attributes>
+               </java-type>
+
                <java-type name="Actions">
                        <xml-properties>
                                <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)." />
 
                <java-type name="Update">
                        <xml-properties>
-                               <xml-property name="description" value="Serves a PATCH like function.  Does not enforce concurrency control." />
+                               <xml-property name="description" value="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team." />
                        </xml-properties>
                        <xml-root-element name="update" />
                        <java-attributes>
                        </xml-properties>
                        <xml-root-element name="cloud-infrastructure" />
                        <java-attributes>
+                               <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.openecomp.org.v8.Complexes" />
                                <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.openecomp.org.v8.CloudRegions" />
+                               <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.openecomp.org.v8.NetworkProfiles" />
                                <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.openecomp.org.v8.Pservers" />
+                               <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.openecomp.org.v8.VirtualDataCenters" />
                        </java-attributes>
                </java-type>
 
                                </xml-element>
                                <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Cloud-owner defined type indicator" />
+                                               <xml-property name="description" value="Cloud-owner defined type indicator (e.g., DCP, LCP)" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
                                <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.openecomp.org.v8.GroupAssignments" />
                                <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.openecomp.org.v8.Snapshots" />
                                <xml-element java-attribute="images" name="images" type="inventory.aai.openecomp.org.v8.Images" />
+                               <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v8.DvsSwitches" />
+                               <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v8.OamNetworks" />
                                <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.openecomp.org.v8.AvailabilityZones" />
                                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
                        </java-attributes>
                        <xml-properties>
-                               <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname." />
+                               <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&amp;Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&amp;T's AIC." />
                                <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
                                <xml-property name="nameProps" value="owner-defined-type" />
                                <xml-property name="container" value="cloud-regions" />
                                </xml-element>
                                <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the SDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as SDC matures." />
+                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures." />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
                        <java-attributes>
                                <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="A keyword provided by AAI to indicate type of node." />
+                                               <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node." />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="URL to the object in AAI." />
+                                               <xml-property name="description" value="URL to the object in A&amp;AI." />
                                        </xml-properties>
                                </xml-element>
                                <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.openecomp.org.v8.RelationshipData" />
                        <java-attributes>
                                <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="A keyword provided by AAI to indicate an attribute." />
+                                               <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute." />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
                        </java-attributes>
                </java-type>
 
+               <java-type name="Complexes">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
+                       </xml-properties>
+                       <xml-root-element name="complexes" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.openecomp.org.v8.Complex" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="Complex">
+                       <xml-root-element name="complex" />
+                       <java-attributes>
+                               <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Data center code which can be an alternate way to identify a complex" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Gamma complex name for LCP instance." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="URL of the keystone identity service" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Type, e.g., central office, data center." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String" />
+                               <xml-element java-attribute="street2" name="street2" type="java.lang.String" />
+                               <xml-element java-attribute="city" name="city" required="true" type="java.lang.String" />
+                               <xml-element java-attribute="state" name="state" type="java.lang.String" />
+                               <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String" />
+                               <xml-element java-attribute="country" name="country" required="true" type="java.lang.String" />
+                               <xml-element java-attribute="region" name="region" required="true" type="java.lang.String" />
+                               <xml-element java-attribute="latitude" name="latitude" type="java.lang.String" />
+                               <xml-element java-attribute="longitude" name="longitude" type="java.lang.String" />
+                               <xml-element java-attribute="elevation" name="elevation" type="java.lang.String" />
+                               <xml-element java-attribute="lata" name="lata" type="java.lang.String" />
+                               <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.openecomp.org.v8.CtagPools" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
+                               <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id" />
+                               <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code" />
+                               <xml-property name="uniqueProps" value="physical-location-id" />
+                               <xml-property name="container" value="complexes" />
+                               <xml-property name="namespace" value="cloud-infrastructure" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="CtagPools">
+                       <xml-root-element name="ctag-pools" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.openecomp.org.v8.CtagPool" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="CtagPool">
+                       <xml-root-element name="ctag-pool" />
+                       <java-attributes>
+                               <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="The Target provider edge router" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Name of the availability zone" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Describes what the intended purpose of this pool is." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Comma separated list of ctags" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose." />
+                               <xml-property name="indexedProps" value="availability-zone-name" />
+                               <xml-property name="dependentOn" value="complex" />
+                               <xml-property name="container" value="ctag-pools" />
+                       </xml-properties>
+               </java-type>
+
                <java-type name="Tenants">
                        <xml-properties>
                                <xml-property name="description" value="Collection of openstack tenants." />
                                </xml-element>
                                <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Whether AAI should be managing this interface of not. Could have value like CUSTOMER" />
+                                               <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER" />
                                        </xml-properties>
-                               </xml-element>                          
+                               </xml-element>
                                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
                                        <xml-properties>
                                                <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.openecomp.org.v8.Vlans" />
+                               <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.openecomp.org.v8.SriovVfs" />
                                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
                                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v8.L3InterfaceIpv4AddressList" />
                                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v8.L3InterfaceIpv6AddressList" />
                        <xml-properties>
                                <xml-property name="description" value="Logical interfaces, e.g., a vnic." />
                                <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name" />
-                               <xml-property name="dependentOn" value="generic-vnf,p-interface,vserver,lag-interface" />
+                               <xml-property name="dependentOn" value="generic-vnf,newvce,vpe,p-interface,vserver,lag-interface" />
                                <xml-property name="container" value="l-interfaces" />
                        </xml-properties>
                </java-type>
 
+               <java-type name="SriovVfs">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of SR-IOV Virtual Functions." />
+                       </xml-properties>
+                       <xml-root-element name="sriov-vfs" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.openecomp.org.v8.SriovVf" />
+                       </java-attributes>
+               </java-type>
+               <java-type name="SriovVf">
+                       <xml-root-element name="sriov-vf" />
+                       <java-attributes>
+                               <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="PCI ID used to identify the sriov-vf" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="This option is used to set the link status.  Valid values as of 1607 are on, off, and auto." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Neutron network id of the interface" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)" />
+                               <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id" />
+                               <xml-property name="dependentOn" value="l-interface" />
+                               <xml-property name="container" value="sriov-vfs" />
+                       </xml-properties>
+               </java-type>
+
                <java-type name="L3InterfaceIpv4AddressList">
                        <xml-root-element name="l3-interface-ipv4-address-list" />
                        <java-attributes>
                                        <xml-properties>
                                                <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device." />
                                        </xml-properties>
-                               </xml-element>                                  
+                               </xml-element>
                                <xml-element java-attribute="vpnId" name="vpn-id" type="java.lang.String">
                                        <xml-properties>
                                                <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan" />
+                                               <xml-property name="dbAlias" value="vpn-id-local" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
                                <xml-property name="container" value="flavors" />
                        </xml-properties>
                </java-type>
-               
+
                <java-type name="Snapshots">
                        <xml-properties>
                                <xml-property name="description" value="Collection of openstack snapshots" />
                        <xml-root-element name="snapshots" />
                        <java-attributes>
                                <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.openecomp.org.v8.Snapshot" />
-                       </java-attributes>              
+                       </java-attributes>
                </java-type>
-               
+
                <java-type name="Snapshot">
                        <xml-root-element name="snapshot" />
                        <java-attributes>
                                                <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />                               
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
                        </java-attributes>
                        <xml-properties>
                                <xml-property name="description" value="Openstack snapshot" />
                                <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id" />
                                <xml-property name="dependentOn" value="cloud-region" />
                                <xml-property name="container" value="snapshots" />
-                       </xml-properties>       
+                       </xml-properties>
                </java-type>
-               
+
                <java-type name="GroupAssignments">
                        <xml-properties>
                                <xml-property name="description" value="Collection of openstack group assignments" />
                                <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.openecomp.org.v8.GroupAssignment" />
                        </java-attributes>
                </java-type>
-               
+
                <java-type name="GroupAssignment">
                        <xml-root-element name="group-assignment" />
                        <java-attributes>
                                        <xml-properties>
                                                <xml-property name="description" value="Group type - the type of group this instance refers to" />
                                        </xml-properties>
-                               </xml-element>                          
+                               </xml-element>
                                <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
                                        <xml-properties>
                                                <xml-property name="description" value="Group name - name assigned to the group" />
                                        <xml-properties>
                                                <xml-property name="description" value="Group description - description of the group" />
                                        </xml-properties>
-                               </xml-element>  
+                               </xml-element>
                                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
                                        <xml-properties>
                                                <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
                                        </xml-properties>
-                               </xml-element>          
+                               </xml-element>
                                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
                        </java-attributes>
                        <xml-properties>
                                <xml-property name="dependentOn" value="cloud-region" />
                                <xml-property name="container" value="group-assignments" />
                        </xml-properties>
-               </java-type>                    
+               </java-type>
 
                <java-type name="Images">
                        <xml-properties>
                        <xml-properties>
                                <xml-property name="description" value="Key/value pairs" />
                                <xml-property name="indexedProps" value="metaname" />
-                               <xml-property name="dependentOn" value="tenant,image,service-instance,model" />
+                               <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model" />
                                <xml-property name="container" value="metadata" />
                        </xml-properties>
                </java-type>
 
+               <java-type name="DvsSwitches">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and VPEs." />
+                       </xml-properties>
+                       <xml-root-element name="dvs-switches" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.openecomp.org.v8.DvsSwitch" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="DvsSwitch">
+                       <xml-root-element name="dvs-switch" />
+                       <java-attributes>
+                               <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="DVS switch name" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="URL used to reach the vcenter" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs.  A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. " />
+                               <xml-property name="indexedProps" value="vcenter-url,switch-name" />
+                               <xml-property name="dependentOn" value="cloud-region" />
+                               <xml-property name="container" value="dvs-switches" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="NetworkProfiles">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of network profiles" />
+                       </xml-properties>
+                       <xml-root-element name="network-profiles" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.openecomp.org.v8.NetworkProfile" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="NetworkProfile">
+                       <xml-root-element name="network-profile" />
+                       <java-attributes>
+                               <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique name of network profile." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Encrypted SNMP community string" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Network profile populated by SDN-GP for SNMP" />
+                               <xml-property name="indexedProps" value="nm-profile-name" />
+                               <xml-property name="container" value="network-profiles" />
+                               <xml-property name="namespace" value="cloud-infrastructure" />
+                       </xml-properties>
+               </java-type>
+
                <java-type name="Pservers">
                        <xml-properties>
                                <xml-property name="description" value="Collection of compute hosts." />
                        <xml-properties>
                                <xml-property name="description" value="Physical interface (e.g., nic)" />
                                <xml-property name="indexedProps" value="interface-name" />
-                               <xml-property name="dependentOn" value="pserver,pnf" />
+                               <xml-property name="dependentOn" value="vpls-pe,pserver,pnf" />
                                <xml-property name="container" value="p-interfaces" />
                        </xml-properties>
                </java-type>
                        <xml-properties>
                                <xml-property name="description" value="Link aggregate interface" />
                                <xml-property name="indexedProps" value="interface-name" />
-                               <xml-property name="dependentOn" value="generic-vnf,pserver,pnf" />
+                               <xml-property name="dependentOn" value="generic-vnf,pserver,vpe,vpls-pe,pnf" />
                                <xml-property name="container" value="lag-interfaces" />
                        </xml-properties>
                </java-type>
 
+               <java-type name="OamNetworks">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly.  Do not use for new purposes. " />
+                       </xml-properties>
+                       <xml-root-element name="oam-networks" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.openecomp.org.v8.OamNetwork" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="OamNetwork">
+                       <xml-root-element name="oam-network" />
+                       <java-attributes>
+                               <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="UUID of the network. Unique across a cloud-region" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Name of the network." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
+                                       <xml-properties>
+                                               <xml-property name="description" value="cvlan-id" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="OAM network, to be deprecated shortly.  Do not use for new purposes. " />
+                               <xml-property name="nameProps" value="network-name" />
+                               <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name" />
+                               <xml-property name="dependentOn" value="cloud-region" />
+                               <xml-property name="container" value="oam-networks" />
+                       </xml-properties>
+               </java-type>
+
                <java-type name="AvailabilityZones">
                        <xml-properties>
                                <xml-property name="description" value="Collection of availability zones" />
                                <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
                                        <xml-properties>
                                                <xml-property name="description" value="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values." />
+                                               <xml-property name="dbAlias" value="operational-status" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
                        </xml-properties>
                </java-type>
 
-               <java-type name="Business">
+               <java-type name="VirtualDataCenters">
                        <xml-properties>
-                               <xml-property name="description" value="Namespace for business related constructs" />
-                       </xml-properties>
-                       <xml-root-element name="business" />
-                       <java-attributes>
-                               <xml-element java-attribute="customers" name="customers" type="inventory.aai.openecomp.org.v8.Customers" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="Customers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information." />
+                               <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
                        </xml-properties>
-                       <xml-root-element name="customers" />
+                       <xml-root-element name="virtual-data-centers" />
                        <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.openecomp.org.v8.Customer" />
+                               <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.openecomp.org.v8.VirtualDataCenter" />
                        </java-attributes>
                </java-type>
 
-               <java-type name="Customer">
-                       <xml-root-element name="customer" />
+               <java-type name="VirtualDataCenter">
+                       <xml-root-element name="virtual-data-center" />
                        <java-attributes>
-                               <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+                               <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
                                        <xml-properties>
-                                               <xml-property name="description" value="Global customer id used across OpenECOMP to uniquely identify customer." />
+                                               <xml-property name="description" value="Unique ID of the vdc" />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
+                               <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Name of the virtual data center" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
+                               <xml-property name="nameProps" value="vdc-name" />
+                               <xml-property name="indexedProps" value="vdc-name,vdc-id" />
+                               <xml-property name="container" value="virtual-data-centers" />
+                               <xml-property name="namespace" value="cloud-infrastructure" />
+                       </xml-properties>
+               </java-type>
+
+
+
+
+               <java-type name="Business">
+                       <xml-properties>
+                               <xml-property name="description" value="Namespace for business related constructs" />
+                       </xml-properties>
+                       <xml-root-element name="business" />
+                       <java-attributes>
+                               <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.openecomp.org.v8.Connectors" />
+                               <xml-element java-attribute="customers" name="customers" type="inventory.aai.openecomp.org.v8.Customers" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="Connectors">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
+                       </xml-properties>
+                       <xml-root-element name="connectors" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.openecomp.org.v8.Connector" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="Connector">
+                       <xml-root-element name="connector" />
+                       <java-attributes>
+                               <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique id of resource instance." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
+                                               <xml-property name="requires" value="persona-model-version" />
+                                               <xml-property name="visibility" value="deployment" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                                               <xml-property name="visibility" value="deployment" />
+                                               <xml-property name="requires" value="persona-model-id" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                                               <xml-property name="visibility" value="internal" />
+                                               <xml-property name="dbAlias" value="model-version-id-local" />
+                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v8.Metadata" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
+                               <xml-property name="indexedProps" value="resource-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version" />
+                               <xml-property name="container" value="connectors" />
+                               <xml-property name="namespace" value="business" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="Customers">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information." />
+                       </xml-properties>
+                       <xml-root-element name="customers" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.openecomp.org.v8.Customer" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="Customer">
+                       <xml-root-element name="customer" />
+                       <java-attributes>
+                               <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
                                        <xml-properties>
                                                <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer." />
                                        </xml-properties>
                                <xml-property name="nameProps" value="subscriber-name" />
                                <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type" />
                                <xml-property name="searchable" value="subscriber-name,global-customer-id" />
-                               <xml-property name="uniqueProps" value="global-customer-id,subscriber-name" />
-                               <xml-property name="alternateKeys1" value="subscriber-name" />
+                               <xml-property name="uniqueProps" value="global-customer-id" />
                                <xml-property name="container" value="customers" />
                                <xml-property name="namespace" value="business" />
                        </xml-properties>
                        <java-attributes>
                                <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
                                        <xml-properties>
-                                               <xml-property name="description" value="Value defined by orchestration to identify this service across OpenECOMP." />
+                                               <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP." />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
-                    <xml-properties>
-                        <xml-property name="description" value="This property will be deleted from AAI in the near future. Only stop gap solution." />
-                    </xml-properties>
-                </xml-element>
+                                       <xml-properties>
+                                               <xml-property name="description" value="This property will be deleted from A&amp;AI in the near future. Only stop gap solution." />
+                                       </xml-properties>
+                               </xml-element>
                                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
                                        <xml-properties>
                                                <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
                                </xml-element>
                                <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC model id for this resource or service model." />
+                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
+                                               <xml-property name="requires" value="persona-model-version" />
+                                               <xml-property name="visibility" value="deployment" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC model version for this resource or service model." />
+                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                                               <xml-property name="visibility" value="deployment" />
+                                               <xml-property name="requires" value="persona-model-id" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                                               <xml-property name="visibility" value="internal" />
+                                               <xml-property name="dbAlias" value="model-version-id-local" />
+                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary widget model. This maps directly to the AAI widget." />
+                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
+                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
                                                <xml-property name="description" value="URL customers will use to access the vHN Portal." />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Operational status of the service-instance." />
-                                       </xml-properties>
-                               </xml-element>
                                <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
                                        <xml-properties>
                                                <xml-property name="description" value="An identifier that customers assign to the location where this service is being used." />
 
                <java-type name="ServiceDesignAndCreation">
                        <xml-properties>
-                               <xml-property name="description" value="Namespace for objects managed by SDC" />
+                               <xml-property name="description" value="Namespace for objects managed by ASDC" />
                        </xml-properties>
                        <xml-root-element name="service-design-and-creation" />
                        <java-attributes>
-                               <xml-element java-attribute="services" name="services" type="inventory.aai.openecomp.org.v8.Services" />
-                               <xml-element java-attribute="models" name="models" type="inventory.aai.openecomp.org.v8.Models" />
-                               <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.openecomp.org.v8.NamedQueries" />
+                               <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.openecomp.org.v8.VnfImages" />
+                               <xml-element java-attribute="services" name="services" type="inventory.aai.openecomp.org.v8.Services" />
+                               <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.openecomp.org.v8.ServiceCapabilities" />
+                               <xml-element java-attribute="models" name="models" type="inventory.aai.openecomp.org.v8.Models" />
+                               <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.openecomp.org.v8.NamedQueries" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="VnfImages">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
+                       </xml-properties>
+                       <xml-root-element name="vnf-images" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.openecomp.org.v8.VnfImage" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="VnfImage">
+                       <xml-root-element name="vnf-image" />
+                       <java-attributes>
+                               <xml-element java-attribute="vnfImageUuid" name="vnf-image-uuid" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of this asset" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="The application that the image instantiates." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="The vendor of the application." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="The version of the application." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
+                               <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version" />
+                               <xml-property name="uniqueProps" value="vnf-image-uuid" />
+                               <xml-property name="container" value="vnf-images" />
+                               <xml-property name="namespace" value="service-design-and-creation" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="Services">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of service model definitions.  Likely to be deprecated in favor of models from ASDC." />
+                       </xml-properties>
+                       <xml-root-element name="services" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.openecomp.org.v8.Service" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="Service">
+                       <xml-root-element name="service" />
+                       <java-attributes>
+                               <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Description of the service" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="service version" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Stand-in for service model definitions.  Likely to be deprecated in favor of models from ASDC." />
+                               <xml-property name="indexedProps" value="service-description,service-id" />
+                               <xml-property name="container" value="services" />
+                               <xml-property name="namespace" value="service-design-and-creation" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="ServiceCapabilities">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of service capabilities." />
+                       </xml-properties>
+                       <xml-root-element name="service-capabilities" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.openecomp.org.v8.ServiceCapability" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="ServiceCapability">
+                       <xml-root-element name="service-capability" />
+                       <java-attributes>
+                               <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models.  No new use should be made of this." />
+                               <xml-property name="indexedProps" value="service-type,vnf-type" />
+                               <xml-property name="container" value="service-capabilities" />
+                               <xml-property name="namespace" value="service-design-and-creation" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="Network">
+                       <xml-properties>
+                               <xml-property name="description" value="Namespace for network inventory resources." />
+                       </xml-properties>
+                       <xml-root-element name="network" />
+                       <java-attributes>
+                               <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.openecomp.org.v8.LogicalLinks" />
+                               <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.openecomp.org.v8.SitePairSets" />
+                               <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.openecomp.org.v8.VpnBindings" />
+                               <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.openecomp.org.v8.VplsPes" />
+                               <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.openecomp.org.v8.MulticastConfigurations" />
+                               <xml-element java-attribute="vces" name="vces" type="inventory.aai.openecomp.org.v8.Vces" />
+                               <xml-element java-attribute="vpes" name="vpes" type="inventory.aai.openecomp.org.v8.Vpes" />
+                               <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.openecomp.org.v8.Vnfcs" />
+                               <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.openecomp.org.v8.L3Networks" />
+                               <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.openecomp.org.v8.NetworkPolicies" />
+                               <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.openecomp.org.v8.GenericVnfs" />
+                               <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.openecomp.org.v8.LagLinks" />
+                               <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.openecomp.org.v8.Newvces" />
+                               <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.openecomp.org.v8.Pnfs" />
+                               <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.openecomp.org.v8.PhysicalLinks" />
+                               <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.openecomp.org.v8.IpsecConfigurations" />
+                               <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.openecomp.org.v8.RouteTableReferences" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="LogicalLinks">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of logical connections" />
+                       </xml-properties>
+                       <xml-root-element name="logical-links" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.openecomp.org.v8.LogicalLink" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="LogicalLink">
+                       <xml-root-element name="logical-link" />
+                       <java-attributes>
+                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Type of logical link, e.g., evc" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Captures the numeric part of the speed" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="v4, v6, or ds for dual stack" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="For example, static or BGP" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
+                                               <xml-property name="requires" value="persona-model-version" />
+                                               <xml-property name="visibility" value="deployment" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                                               <xml-property name="visibility" value="deployment" />
+                                               <xml-property name="requires" value="persona-model-id" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                                               <xml-property name="visibility" value="internal" />
+                                               <xml-property name="dbAlias" value="model-version-id-local" />
+                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Indication of operational status of the logical link." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Indication of the network use of the logical link." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="UUID of the logical-link, SDNC generates this." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points" />
+                               <xml-property name="indexedProps" value="link-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,link-id" />
+                               <xml-property name="uniqueProps" value="link-id" />
+                               <xml-property name="container" value="logical-links" />
+                               <xml-property name="namespace" value="network" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="SitePairSets">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf" />
+                       </xml-properties>
+                       <xml-root-element name="site-pair-sets" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.openecomp.org.v8.SitePairSet" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="SitePairSet">
+                       <xml-root-element name="site-pair-set" />
+                       <java-attributes>
+                               <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique id of site pair set." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.openecomp.org.v8.RoutingInstances" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Set of instances for probes used to measure service level agreements" />
+                               <xml-property name="indexedProps" value="site-pair-set-id" />
+                               <xml-property name="uniqueProps" value="site-pair-set-id" />
+                               <xml-property name="container" value="site-pair-sets" />
+                               <xml-property name="namespace" value="network" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="RoutingInstances">
+                       <xml-properties>
+                               <xml-property name="description" value="set of probes related to generic-vnf routing instance" />
+                       </xml-properties>
+                       <xml-root-element name="routing-instances" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.openecomp.org.v8.RoutingInstance" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="RoutingInstance">
+                       <xml-root-element name="routing-instance" />
+                       <java-attributes>
+                               <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique id of routing instance" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="rpm owner" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.openecomp.org.v8.SitePairs" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="indexedProps" value="routing-instance-id" />
+                               <xml-property name="uniqueProps" value="routing-instance-id" />
+                               <xml-property name="dependentOn" value="site-pair-set" />
+                               <xml-property name="container" value="routing-instances" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="SitePairs">
+                       <xml-properties>
+                               <xml-property name="description" value="probe within a set" />
+                       </xml-properties>
+                       <xml-root-element name="site-pairs" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.openecomp.org.v8.SitePair" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="SitePair">
+                       <xml-root-element name="site-pair" />
+                       <java-attributes>
+                               <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="unique identifier of probe" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Prefix address" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Prefix address" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ip version, v4, v6" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="The type of destinatination equipment. Could be Router, etc." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.openecomp.org.v8.ClassesOfService" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="indexedProps" value="site-pair-id" />
+                               <xml-property name="uniqueProps" value="site-pair-id" />
+                               <xml-property name="dependentOn" value="routing-instance" />
+                               <xml-property name="container" value="site-pairs" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="ClassesOfService">
+                       <xml-properties>
+                               <xml-property name="description" value="class-of-service of probe" />
+                       </xml-properties>
+                       <xml-root-element name="classes-of-service" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.openecomp.org.v8.ClassOfService" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="ClassOfService">
+                       <xml-root-element name="class-of-service" />
+                       <java-attributes>
+                               <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="unique identifier of probe" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="identifier of probe" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="type of probe" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="indexedProps" value="cos" />
+                               <xml-property name="dependentOn" value="site-pair" />
+                               <xml-property name="container" value="classes-of-service" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="VpnBindings">
+                       <xml-root-element name="vpn-bindings" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.openecomp.org.v8.VpnBinding" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="VpnBinding">
+                       <xml-root-element name="vpn-binding" />
+                       <java-attributes>
+                               <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="VPN ID, globally unique within A&amp;AI" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="VPN Name" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Number used to identify a VPN, globally unique in the network" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList">
+                                       <xml-properties>
+                                               <xml-property name="description" value="l3-networks relate to vpn-bindings" />
+                                       </xml-properties>
+                               </xml-element>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="VPN binding" />
+                               <xml-property name="nameProps" value="vpn-name" />
+                               <xml-property name="indexedProps" value="vpn-name,vpn-id,global-route-target" />
+                               <xml-property name="uniqueProps" value="vpn-id" />
+                               <xml-property name="container" value="vpn-bindings" />
+                               <xml-property name="namespace" value="network" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="VplsPes">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of VPLS Provider Edge routers" />
+                       </xml-properties>
+                       <xml-root-element name="vpls-pes" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.openecomp.org.v8.VplsPe" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="VplsPe">
+                       <xml-root-element name="vpls-pe" />
+                       <java-attributes>
+                               <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true" />
+                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Temporary location for stag to get to VCE" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v8.PInterfaces" />
+                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v8.LagInterfaces" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="VPLS Provider Edge routers." />
+                               <xml-property name="indexedProps" value="prov-status,equipment-name" />
+                               <xml-property name="container" value="vpls-pes" />
+                               <xml-property name="namespace" value="network" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="MulticastConfigurations">
+                       <xml-properties>
+                               <xml-property name="description" value="multicast configuration of generic-vnf ip-address" />
+                       </xml-properties>
+                       <xml-root-element name="multicast-configurations" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.openecomp.org.v8.MulticastConfiguration" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="MulticastConfiguration">
+                       <xml-root-element name="multicast-configuration" />
+                       <java-attributes>
+                               <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique id of multicast configuration." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="protocol of multicast configuration" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="rp type of multicast configuration" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="indexedProps" value="multicast-configuration-id" />
+                               <xml-property name="uniqueProps" value="multicast-configuration-id" />
+                               <xml-property name="container" value="multicast-configurations" />
+                               <xml-property name="namespace" value="network" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="Vces">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma.  This object is deprecated." />
+                       </xml-properties>
+                       <xml-root-element name="vces" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.openecomp.org.v8.Vce" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="Vce">
+                       <xml-root-element name="vce" />
+                       <java-attributes>
+                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Name of VNF." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Alternate name of VNF." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique identifier of service from ASDC.  Expect this to change as ASDC matures." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
+                                               <xml-property name="dbAlias" value="operational-status" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="License key" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Network role being played by this VNF" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of VPE connected to this VCE." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router.  Implied length of /64." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Loopback0 address" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Entitlement resource uuid" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.openecomp.org.v8.PortGroups" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma.  This object is deprecated." />
+                               <xml-property name="nameProps" value="vnf-name" />
+                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id" />
+                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
+                               <xml-property name="uniqueProps" value="vnf-id" />
+                               <xml-property name="container" value="vces" />
+                               <xml-property name="namespace" value="network" />
+                               <xml-property name="extends" value="vnf" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="PortGroups">
+                       <xml-root-element name="port-groups" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.openecomp.org.v8.PortGroup" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="PortGroup">
+                       <xml-root-element name="port-group" />
+                       <java-attributes>
+                               <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of the interface" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Neutron network id of this Interface" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Neutron network name of this Interface" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID for port group in vmware" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Likely to duplicate value of neutron network name" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.openecomp.org.v8.CvlanTags" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Used to capture the network interfaces of this VCE" />
+                               <xml-property name="nameProps" value="port-group-name" />
+                               <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name" />
+                               <xml-property name="dependentOn" value="vce" />
+                               <xml-property name="container" value="port-groups" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="CvlanTags">
+                       <xml-root-element name="cvlan-tags" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.openecomp.org.v8.CvlanTagEntry" />
                        </java-attributes>
                </java-type>
 
-               <java-type name="Network">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for network inventory resources." />
-                       </xml-properties>
-                       <xml-root-element name="network" />
+               <java-type name="CvlanTagEntry">
+                       <xml-root-element name="cvlan-tag-entry" />
                        <java-attributes>
-                               <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.openecomp.org.v8.LogicalLinks" />
-                               <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.openecomp.org.v8.Vnfcs" />
-                               <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.openecomp.org.v8.L3Networks" />
-                               <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.openecomp.org.v8.GenericVnfs" />
-                               <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.openecomp.org.v8.Pnfs" />
-                               <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.openecomp.org.v8.PhysicalLinks" />
+                               <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="See mis-na-virtualization-platform.yang" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
                        </java-attributes>
+                       <xml-properties>
+                               <xml-property name="dependentOn" value="port-group" />
+                               <xml-property name="indexedProps" value="cvlan-tag" />
+                               <xml-property name="container" value="cvlan-tags" />
+                       </xml-properties>
                </java-type>
 
-               <java-type name="LogicalLinks">
+               <java-type name="Vpes">
                        <xml-properties>
-                               <xml-property name="description" value="Collection of logical connections" />
+                               <xml-property name="description" value="Virtual provider edge router. In 1504, A&amp;AI will populate this object through an M&amp;P and tool provided to operations." />
                        </xml-properties>
-                       <xml-root-element name="logical-links" />
+                       <xml-root-element name="vpes" />
                        <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.openecomp.org.v8.LogicalLink" />
+                               <xml-element container-type="java.util.ArrayList" java-attribute="vpe" name="vpe" type="inventory.aai.openecomp.org.v8.Vpe" />
                        </java-attributes>
                </java-type>
 
-               <java-type name="LogicalLink">
-                       <xml-root-element name="logical-link" />
+               <java-type name="Vpe">
+                       <xml-root-element name="vpe" />
                        <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
                                        <xml-properties>
-                                               <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ" />
+                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
+                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Type of logical link, e.g., evc" />
+                                               <xml-property name="description" value="Name of VNF." />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
+                                               <xml-property name="description" value="Alternate name of VNF." />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
+                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures." />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="v4, v6, or ds for dual stack (should be ip-version)" />
+                                               <xml-property name="description" value="Unique identifier of service from ASDC" />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
+                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="For example, static or BGP" />
+                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC model id for this resource or service model." />
+                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
+                                               <xml-property name="dbAlias" value="operational-status" />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC model version for this resource or service model." />
+                                               <xml-property name="description" value="License key" />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary widget model. This maps directly to the AAI widget." />
+                                               <xml-property name="description" value="Client should send valid enumerated value" />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
+                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Indication of operational status of the logical link." />
+                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
+                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Indication of the network use of the logical link." />
+                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
+                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)." />
+                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
+                               <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
                                        <xml-properties>
-                                               <xml-property name="description" value="UUID of the logical-link, SDNC generates this." />
+                                               <xml-property name="description" value="Prefix length for oam-address" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Gateway address" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="v4Loopback0IpAddress" name="v4-loopback0-ip-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Loopback0 address" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Temporary location for stag to get to VCE" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="as-number of the VPE" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="details regarding the vpe operation" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="indicates whether vpe access uses SSH" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v8.LInterfaces" />
+                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v8.LagInterfaces" />
                        </java-attributes>
                        <xml-properties>
-                               <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points" />
-                               <xml-property name="indexedProps" value="link-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,link-id" />
-                               <xml-property name="uniqueProps" value="link-id" />
-                               <xml-property name="container" value="logical-links" />
+                               <xml-property name="description" value="Relationship-list must include related to info for complex." />
+                               <xml-property name="nameProps" value="vnf-name" />
+                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,regional-resource-zone,prov-status,service-id" />
+                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
+                               <xml-property name="uniqueProps" value="vnf-id" />
+                               <xml-property name="container" value="vpes" />
                                <xml-property name="namespace" value="network" />
+                               <xml-property name="extends" value="vnf" />
                        </xml-properties>
                </java-type>
 
                        <java-attributes>
                                <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
                                        <xml-properties>
-                                               <xml-property name="description" value="Network ID, should be uuid. Unique across AAI." />
+                                               <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI." />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
                                </xml-element>
                                <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service from SDC" />
+                                               <xml-property name="description" value="Unique identifier of service from ASDC" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
                                </xml-element>
                                <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC model id for this resource or service model." />
+                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
+                                               <xml-property name="requires" value="persona-model-version" />
+                                               <xml-property name="visibility" value="deployment" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC model version for this resource or service model." />
+                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                                               <xml-property name="visibility" value="deployment" />
+                                               <xml-property name="requires" value="persona-model-id" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                                               <xml-property name="visibility" value="internal" />
+                                               <xml-property name="dbAlias" value="model-version-id-local" />
+                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary widget model. This maps directly to the AAI widget." />
+                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
+                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
                                <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.openecomp.org.v8.SegmentationAssignments" />
                                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" >
                                        <xml-properties>
-                                               <xml-property name="description" value="Relates to tenant (or is it a child of tenant)" />
+                                               <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding" />
                                        </xml-properties>
                                </xml-element>
                        </java-attributes>
                                <xml-property name="namespace" value="network" />
                        </xml-properties>
                </java-type>
-               
+               <java-type name="NetworkPolicies">
+                       <xml-root-element name="network-policies" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.openecomp.org.v8.NetworkPolicy" />
+                       </java-attributes>
+               </java-type>
+               <java-type name="NetworkPolicy">
+                       <xml-root-element name="network-policy" />
+                       <java-attributes>
+                               <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="UUID representing unique key to this instance" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Contrail FQDN for the policy" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ID for the openStack Heat instance" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="nameProps" value="network-policy-fqdn" />
+                               <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn" />
+                               <xml-property name="uniqueProps" value="network-policy-id" />
+                               <xml-property name="container" value="network-policies" />
+                               <xml-property name="namespace" value="network" />
+                       </xml-properties>
+               </java-type>
                <java-type name="CtagAssignments">
                        <xml-root-element name="ctag-assignments" />
                        <java-attributes>
                                </xml-element>
                                <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the SDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as SDC matures." />
+                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures." />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service from SDC" />
+                                               <xml-property name="description" value="Unique identifier of service from ASDC" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
                                <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
                                        <xml-properties>
                                                <xml-property name="description" value="Indicator for whether the resource is considered operational" />
+                                               <xml-property name="dbAlias" value="operational-status" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
                                </xml-element>
                                <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="identifier of managed by customer" />
+                                               <xml-property name="description" value="identifier of managed by company or customer" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
                                                <xml-property name="description" value="indicates whether generic-vnf access uses SSH" />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="entitlementAssignmentGroupUuid" name="entitlement-assignment-group-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the Entitlement group used for licensing VNFs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the specific entitlement resource" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseAssignmentGroupUuid" name="license-assignment-group-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the license assignment group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKeyUuid" name="license-key-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the actual license resource" />
-                                       </xml-properties>
-                               </xml-element>
                                <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC model id for this resource or service model." />
+                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
+                                               <xml-property name="requires" value="persona-model-version" />
+                                               <xml-property name="visibility" value="deployment" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC model version for this resource or service model." />
+                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                                               <xml-property name="visibility" value="deployment" />
+                                               <xml-property name="requires" value="persona-model-id" />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
+                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                                               <xml-property name="visibility" value="internal" />
+                                               <xml-property name="dbAlias" value="model-version-id-local" />
+                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary widget model. This maps directly to the AAI widget." />
+                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
+                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
                                        <xml-properties>
                                                <xml-property name="description" value="represents sub zone of the rr plane" />
                                        </xml-properties>
-                               </xml-element>                                  
+                               </xml-element>
                                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
                                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v8.LInterfaces" />
                                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v8.LagInterfaces" />
                        <java-attributes>
                                <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
                                        <xml-properties>
-                                               <xml-property name="description" value="Unique ID of vf-module." />
+                                               <xml-property name="description" value="Unique ID of vf-module." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Name of vf-module" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Heat stack id corresponding to this instance." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element default-value="false" required="true" java-attribute="isBaseVfModule" name="is-base-vf-module" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="defaultValue" value="false"/>
+                                               <xml-property name="description" value="used to indicate whether or not this object is base vf module" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
+                                               <xml-property name="requires" value="persona-model-version" />
+                                               <xml-property name="visibility" value="deployment" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                                               <xml-property name="visibility" value="deployment" />
+                                               <xml-property name="requires" value="persona-model-id" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                                               <xml-property name="visibility" value="internal" />
+                                               <xml-property name="dbAlias" value="model-version-id-local" />
+                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the Contrail unique ID for a service-instance" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="a deployment unit of VNFCs" />
+                               <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-service-instance-fqdn" />
+                               <xml-property name="dependentOn" value="generic-vnf" />
+                               <xml-property name="container" value="vf-modules" />
+                       </xml-properties>
+               </java-type>
+
+
+               <java-type name="LagLinks">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of link aggregation connections" />
+                       </xml-properties>
+                       <xml-root-element name="lag-links" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.openecomp.org.v8.LagLink" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="LagLink">
+                       <xml-root-element name="lag-link" />
+                       <java-attributes>
+                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Alphabetical concatenation of lag-interface names" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="LAG links can connect lag-interfaces" />
+                               <xml-property name="indexedProps" value="link-name" />
+                               <xml-property name="container" value="lag-links" />
+                               <xml-property name="namespace" value="network" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="Newvces">
+                       <xml-properties>
+                               <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
+                       </xml-properties>
+                       <xml-root-element name="newvces" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.openecomp.org.v8.Newvce" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="Newvce">
+                       <xml-root-element name="newvce" />
+                       <java-attributes>
+                               <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object" />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
+                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Name of vf-module" />
+                                               <xml-property name="description" value="Name of VNF." />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance." />
+                                               <xml-property name="description" value="Alternate name of VNF." />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO" />
+                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded and clients should expect changes                  to occur in the future to this field as ASDC matures." />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isBaseVfModule" name="is-base-vf-module" type="java.lang.Boolean">
+                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is base vf module" />
+                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
+                                               <xml-property name="dbAlias" value="operational-status" />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC model id for this resource or service model." />
+                                               <xml-property name="description" value="License key" />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC model version for this resource or service model." />
+                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary widget model. This maps directly to the AAI widget." />
+                                               <xml-property name="description" value="Client should send valid enumerated value, e.g., VPE." />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the SDC data dictionary version of the widget model.This maps directly to the AAI version of the widget." />
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
+                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="the Contrail unique ID for a service-instance" />
+                                               <xml-property name="description" value="v4 Loopback0 address" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v8.LInterfaces" />
                        </java-attributes>
                        <xml-properties>
-                               <xml-property name="description" value="a deployment unit of VNFCs" />
-                               <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-service-instance-fqdn" />
-                               <xml-property name="dependentOn" value="generic-vnf" />
-                               <xml-property name="container" value="vf-modules" />
+                               <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
+                               <xml-property name="nameProps" value="vnf-name" />
+                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2" />
+                               <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2" />
+                               <xml-property name="uniqueProps" value="vnf-id2" />
+                               <xml-property name="container" value="newvces" />
+                               <xml-property name="namespace" value="network" />
                        </xml-properties>
                </java-type>
 
                                </xml-element>
                                <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="identifier of managed by customer" />
+                                               <xml-property name="description" value="identifier of managed by company or customer" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
                                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v8.LagInterfaces" />
                        </java-attributes>
                        <xml-properties>
-                               <xml-property name="description" value="PNF represents a physical network function." />
+                               <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world." />
                                <xml-property name="indexedProps" value="pnf-name,orchestration-status" />
                                <xml-property name="uniqueProps" value="pnf-name" />
                                <xml-property name="container" value="pnfs" />
                                </xml-element>
                                <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
                                        <xml-properties>
-                                               <xml-property name="description" value="To provide information on who manages this circuit. AAI or 3rd party transport provider" />
+                                               <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
                                        <xml-properties>
                                                <xml-property name="description" value="Name of the service Provider on this link." />
                                        </xml-properties>
-                               </xml-element>                                  
+                               </xml-element>
                                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
                                        <xml-properties>
                                                <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
                        </xml-properties>
                </java-type>
 
+               <java-type name="VigServers">
+                       <xml-root-element name="vig-servers" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.openecomp.org.v8.VigServer" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="VigServer">
+                       <xml-root-element name="vig-server" />
+                       <java-attributes>
+                               <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="v4 IP of the vig server" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="v6 IP of the vig server" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607" />
+                               <xml-property name="indexedProps" value="vig-address-type" />
+                               <xml-property name="dependentOn" value="ipsec-configuration" />
+                               <xml-property name="container" value="vig-servers" />
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="IpsecConfigurations">
+                       <xml-root-element name="ipsec-configurations" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.openecomp.org.v8.IpsecConfiguration" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="IpsecConfiguration">
+                       <xml-root-element name="ipsec-configuration" />
+                       <java-attributes>
+                               <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="UUID of this configuration" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="can offer a shared DMZ or a DMZ specific to a customer" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Network address of shared DMZ" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="can be 1 or 2" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc,ƂĀ aes-192-cbc, aes-265-cbc" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="pre-shared key for the above group name " />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Lifetime for IKEv1 SA" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="md5, sha1, sha256, sha384" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc,ƂĀ aes-192-cbc, aes-265-cbc" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Life time for IPSec SA" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="enable PFS or not" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="user ID for xAuth, sm-user, ,nmteHostName" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="The time between DPD probe" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                               <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.openecomp.org.v8.VigServers" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C" />
+                               <xml-property name="indexedProps" value="ipsec-configuration-id" />
+                               <xml-property name="uniqueProps" value="ipsec-configuration-id" />
+                               <xml-property name="container" value="ipsec-configurations" />
+                               <xml-property name="namespace" value="network" />
+                       </xml-properties>
+               </java-type>
+
+
                <java-type name="NotificationEvent">
                        <xml-root-element name="notification-event" />
                        <java-attributes>
                                <xml-element java-attribute="status" name="status" type="java.lang.String" />
                        </java-attributes>
                </java-type>
-               
                <java-type name="AaiInternal">
                        <xml-root-element name="aai-internal" />
                        <java-attributes>
                                <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.openecomp.org.v8.EdgePropNames" />
                        </java-attributes>
                </java-type>
-               
                <java-type name="ReservedPropNames">
                        <xml-properties>
                                <xml-property name="description" value="Internal map to define some reserved properties of a vertex" />
                                <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String" />
                        </java-attributes>
                </java-type>
-               
                <java-type name="EdgePropNames">
                        <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
                        <xml-properties>
                                <xml-element java-attribute="isParent" name="isParent" type="java.lang.Boolean" />
                                <xml-element java-attribute="usesResource" name="usesResource" type="java.lang.Boolean" />
                                <xml-element java-attribute="hasDelTarget" name="hasDelTarget" type="java.lang.Boolean" />
-                               <xml-element java-attribute="SVC-INFRA" name="SVC-INFRA" type="java.lang.String" />
-                               <xml-element java-attribute="SVC-INFRA-REV" name="SVC-INFRA-REV" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="Services">
-                       <xml-properties>
-                      <xml-property name="description" value="Collection of service model definitions.  Likely to be deprecated in favor of models from SDC."/>
-               </xml-properties>
-               <xml-root-element name="services" />
-               <java-attributes>
-                       <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.openecomp.org.v8.Service" />
-               </java-attributes>
-        </java-type>
-               
-               <java-type name="Service">
-                       <xml-root-element name="service" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description of the service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="service version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                               <xml-element java-attribute="SVC-INFRA" name="SVC-INFRA" type="java.lang.Boolean" />
+                               <xml-element java-attribute="SVC-INFRA-REV" name="SVC-INFRA-REV" type="java.lang.Boolean" />
                        </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Stand-in for service model definitions.  Likely to be deprecated in favor of models from SDC." />
-                               <xml-property name="indexedProps" value="service-description,service-id" />
-                               <xml-property name="container" value="services" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
                </java-type>
 
                <java-type name="Models">
                        <xml-properties>
-                               <xml-property name="description" value="Collection of subgraph definitions provided by SDC to describe the inventory assets and their connections related to SDC models" />
+                               <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models" />
                        </xml-properties>
                        <xml-root-element name="models" />
                        <java-attributes>
 
                <java-type name="Model">
                        <xml-properties>
-                               <xml-property name="description" value="Subgraph definition provided by SDC to describe an inventory asset and its connections related to SDC models" />
+                               <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models" />
                                <xml-property name="nameProps" value="model-name,model-type" />
                                <xml-property name="indexedProps" value="model-name-version-id,model-type,model-name,model-id,model-version" />
                                <xml-property name="alternateKeys1" value="model-id,model-version" />
                        <java-attributes>
                                <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
                                        <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to one version of a model in SDC" />
+                                               <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
                                        </xml-properties>
                                </xml-element>
                                <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
                                                <xml-property name="description" value="How many of this type of element are required/allowed" />
                                        </xml-properties>
                                </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-point" type="java.lang.String">
-                                       <xml-element-wrapper name="linkage-points" />
+                               <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String">
                                </xml-element>
                                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
                                        <xml-properties>
                                <xml-any-element java-attribute="propertyValue" lax="true" name="property-value" />
                        </java-attributes>
                </java-type>
-               
+
+               <java-type name="RouteTableReferences">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of openstack route table references" />
+                       </xml-properties>
+                       <xml-root-element name="route-table-references" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.openecomp.org.v8.RouteTableReference" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="RouteTableReference">
+                       <xml-root-element name="route-table-reference" />
+                       <java-attributes>
+                               <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="FQDN entry in the route table." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Concurrency value" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+
+                       <xml-properties>
+                               <xml-property name="description" value="Openstack route table reference." />
+                               <xml-property name="nameProps" value="route-table-reference-fqdn" />
+                               <xml-property name="uniqueProps" value="route-table-reference-id" />
+                               <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn" />
+                               <xml-property name="container" value="route-table-references" />
+                               <xml-property name="namespace" value="network" />
+                       </xml-properties>
+               </java-type>
+
                <java-type name="SegmentationAssignments">
-                        <xml-properties>
-                                <xml-property name="description" value="Collection of openstack segmentation assignments" />
-                        </xml-properties>
-                        <xml-root-element name="segmentation-assignments" />
-                        <java-attributes>
-                                <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.openecomp.org.v8.SegmentationAssignment" />
-                        </java-attributes>
-                </java-type>
-
-                <java-type name="SegmentationAssignment">
-                        <xml-root-element name="segmentation-assignment" />
-                        <java-attributes>
-                                <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
-                                        <xml-properties>
-                                                <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
-                                        </xml-properties>
-                                </xml-element>
-                                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                        <xml-properties>
-                                                <xml-property name="description" value="Concurrency value" />
-                                        </xml-properties>
-                                </xml-element>
-                                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
-                        </java-attributes>
-                        <xml-properties>
-                                <xml-property name="description" value="Openstack segmentation assignment." />
-                                <xml-property name="indexedProps" value="segmentation-id" />
-                                <xml-property name="dependentOn" value="l3-network" />
-                                <xml-property name="container" value="segmentation-assignments" />
-                        </xml-properties>
-                </java-type>
-               
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of openstack segmentation assignments" />
+                       </xml-properties>
+                       <xml-root-element name="segmentation-assignments" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.openecomp.org.v8.SegmentationAssignment" />
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="SegmentationAssignment">
+                       <xml-root-element name="segmentation-assignment" />
+                       <java-attributes>
+                               <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Concurrency value" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v8.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Openstack segmentation assignment." />
+                               <xml-property name="indexedProps" value="segmentation-id" />
+                               <xml-property name="dependentOn" value="l3-network" />
+                               <xml-property name="container" value="segmentation-assignments" />
+                       </xml-properties>
+               </java-type>
+               <java-type name="Vnf">
+                       <xml-root-element name="vnf"/>
+                       <java-attributes>
+                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
+                                       </xml-properties>
+                               </xml-element>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Abstract vnf class" />
+                               <xml-property name="indexedProps" value="vnf-id" />
+                               <xml-property name="uniqueProps" value="vnf-id" />
+                               <xml-property name="inheritors" value="vce,vpe,generic-vnf" />
+                               <xml-property name="abstract" value="true" />
+                       </xml-properties>
+               </java-type>
        </java-types>
 </xml-bindings>
index 87a3d65..2bf5a9c 100644 (file)
   -->
 
 <xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.openecomp.org.v9" xml-mapping-metadata-complete="true">
-       <xml-schema element-form-default="QUALIFIED">
-               <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v9" />
-       </xml-schema>
-       <java-types>
-               <java-type name="Inventory">
-                       <xml-root-element name="inventory" />
-                       <java-attributes>
-                               <xml-element java-attribute="search" name="search" type="inventory.aai.openecomp.org.v9.Search" />
-                               <xml-element java-attribute="actions" name="actions" type="inventory.aai.openecomp.org.v9.Actions" />
-                               <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.openecomp.org.v9.CloudInfrastructure" />
-                               <xml-element java-attribute="business" name="business" type="inventory.aai.openecomp.org.v9.Business" />
-                               <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.openecomp.org.v9.ServiceDesignAndCreation" />
-                               <xml-element java-attribute="network" name="network" type="inventory.aai.openecomp.org.v9.Network" />
-                               <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.openecomp.org.v9.AaiInternal" />
-                               <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.openecomp.org.v9.Nodes"/>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Nodes">
-                       <xml-root-element name="nodes" />
-               </java-type>
-               <java-type name="Search">
-                       <xml-root-element name="search" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.openecomp.org.v9.EdgeTagQueryResult" />
-                               <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.openecomp.org.v9.EdgeTagQueryRequest" />
-                               <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.openecomp.org.v9.SearchResults" />
-                               <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.openecomp.org.v9.SdnZoneResponse" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="EdgeTagQueryResult">
-                       <xml-root-element name="edge-tag-query-result" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v9.TaggedInventoryItemList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="TaggedInventoryItemList">
-                       <xml-root-element name="tagged-inventory-item-list" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.openecomp.org.v9.InventoryItem" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryItem">
-                       <xml-root-element name="inventory-item" />
-                       <java-attributes>
-                               <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String" />
-                               <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.openecomp.org.v9.InventoryItemData" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v9.TaggedInventoryItemList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryItemData">
-                       <xml-root-element name="inventory-item-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="EdgeTagQueryRequest">
-                       <xml-root-element name="edge-tag-query-request" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String" />
-                               <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String" />
-                               <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.openecomp.org.v9.StartNodeFilter" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.openecomp.org.v9.IncludeNodeFilter" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.openecomp.org.v9.SecondaryFilter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="StartNodeFilter">
-                       <xml-root-element name="start-node-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="IncludeNodeFilter">
-                       <xml-root-element name="include-node-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SecondaryFilter">
-                       <xml-root-element name="secondary-filter" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SearchResults">
-                       <xml-root-element name="search-results" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.openecomp.org.v9.ResultData" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ResultData">
-                       <xml-root-element name="result-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The specific type of node in the A&amp;AI graph" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The URL to the specific resource" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SdnZoneResponse">
-                       <xml-root-element name="sdn-zone-response" />
-                       <java-attributes>
-                               <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v9.OamNetworks" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.openecomp.org.v9.AzAndDvsSwitches" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="AzAndDvsSwitches">
-                       <xml-root-element name="az-and-dvs-switches" />
-                       <java-attributes>
-                               <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v9.DvsSwitches" />
-                               <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v9.AvailabilityZone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Actions">
-                       <xml-properties>
-                               <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)." />
-                       </xml-properties>
-                       <xml-root-element name="actions" />
-                       <java-attributes>
-                               <xml-element java-attribute="update" name="update" type="inventory.aai.openecomp.org.v9.Update" />
-                               <xml-element java-attribute="notify" name="notify" type="inventory.aai.openecomp.org.v9.Notify" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Update">
-                       <xml-properties>
-                               <xml-property name="description" value="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team." />
-                       </xml-properties>
-                       <xml-root-element name="update" />
-                       <java-attributes>
-                               <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.openecomp.org.v9.UpdateNodeKey" />
-                               <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.openecomp.org.v9.Action" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Action">
-                       <xml-root-element name="action" />
-                       <java-attributes>
-                               <xml-element java-attribute="actionType" name="action-type" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.openecomp.org.v9.ActionData" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ActionData">
-                       <xml-root-element name="action-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="UpdateNodeKey">
-                       <xml-root-element name="update-node-key" />
-                       <java-attributes>
-                               <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
-                               <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Notify">
-                       <xml-root-element name="notify" />
-                       <java-attributes>
-                               <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String" />
-                               <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.openecomp.org.v9.KeyData" />
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="KeyData">
-                       <xml-root-element name="key-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
-                               <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CloudInfrastructure">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for cloud infrastructure." />
-                       </xml-properties>
-                       <xml-root-element name="cloud-infrastructure" />
-                       <java-attributes>
-                               <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.openecomp.org.v9.Complexes" />
-                               <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.openecomp.org.v9.CloudRegions" />
-                               <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.openecomp.org.v9.NetworkProfiles" />
-                               <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.openecomp.org.v9.Pservers" />
-                               <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.openecomp.org.v9.VirtualDataCenters" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CloudRegions">
-                       <xml-root-element name="cloud-regions" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.openecomp.org.v9.CloudRegion" />
-                       </java-attributes>
-            <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CloudRegion">
-                       <xml-root-element name="cloud-region" />
-                       <java-attributes>
-                               <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the cloud (e.g., openstack)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Software version employed at the site.  NOTE - THIS FIELD IS NOT KEPT UP TO DATE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL of the keystone identity service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Zone where the cloud is homed.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="complex name for cloud-region instance.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.openecomp.org.v9.VolumeGroups" />
-                               <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.openecomp.org.v9.Tenants" />
-                               <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.openecomp.org.v9.Flavors" />
-                               <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.openecomp.org.v9.GroupAssignments" />
-                               <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.openecomp.org.v9.Snapshots" />
-                               <xml-element java-attribute="images" name="images" type="inventory.aai.openecomp.org.v9.Images" />
-                               <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v9.DvsSwitches" />
-                               <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v9.OamNetworks" />
-                               <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.openecomp.org.v9.AvailabilityZones" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&amp;Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&amp;T's AIC." />
-                               <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
-                               <xml-property name="nameProps" value="owner-defined-type" />
-                               <xml-property name="container" value="cloud-regions" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="VolumeGroups">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of persistent block-level storage." />
-                       </xml-properties>
-                       <xml-root-element name="volume-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.openecomp.org.v9.VolumeGroup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VolumeGroup">
-                       <xml-root-element name="volume-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of volume-group." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeGroupName" name="volume-group-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the volume group." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this volume-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this volume-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                               <xml-property name="dbAlias" value="model-customization-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfModulePersonaModelCustomizationId" name="vf-module-persona-model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="helps relate the volume group to the vf-module whose components will require the volume group" />
-                                               <xml-property name="dbAlias" value="vf-module-model-customization-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Persistent block-level storage." />
-                               <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id" />
-                               <xml-property name="searchable" value="volume-group-id,volume-group-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="volume-groups" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="RelationshipList">
-                       <xml-root-element name="relationship-list" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.openecomp.org.v9.Relationship" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Relationship">
-                       <xml-root-element name="relationship" />
-                       <java-attributes>
-                               <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to the object in A&amp;AI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.openecomp.org.v9.RelationshipData" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.openecomp.org.v9.RelatedToProperty" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedToProperty">
-                       <xml-root-element name="related-to-property" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Key part of a key/value pair" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value part of a key/value pair" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelationshipData">
-                       <xml-root-element name="relationship-data" />
-                       <java-attributes>
-                               <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value of the attribute." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Complexes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
-                       </xml-properties>
-                       <xml-root-element name="complexes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.openecomp.org.v9.Complex" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Complex">
-                       <xml-root-element name="complex" />
-                       <java-attributes>
-                               <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Data center code which can be an alternate way to identify a complex" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Gamma complex name for LCP instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL of the keystone identity service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type, e.g., central office, data center." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="street2" name="street2" type="java.lang.String" />
-                               <xml-element java-attribute="city" name="city" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="state" name="state" type="java.lang.String" />
-                               <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="country" name="country" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="region" name="region" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="latitude" name="latitude" type="java.lang.String" />
-                               <xml-element java-attribute="longitude" name="longitude" type="java.lang.String" />
-                               <xml-element java-attribute="elevation" name="elevation" type="java.lang.String" />
-                               <xml-element java-attribute="lata" name="lata" type="java.lang.String" />
-                               <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.openecomp.org.v9.CtagPools" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
-                               <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id" />
-                               <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code" />
-                               <xml-property name="uniqueProps" value="physical-location-id" />
-                               <xml-property name="container" value="complexes" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CtagPools">
-                       <xml-root-element name="ctag-pools" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.openecomp.org.v9.CtagPool" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CtagPool">
-                       <xml-root-element name="ctag-pool" />
-                       <java-attributes>
-                               <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The Target provider edge router" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the availability zone" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Describes what the intended purpose of this pool is." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Comma separated list of ctags" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose." />
-                               <xml-property name="indexedProps" value="availability-zone-name" />
-                               <xml-property name="dependentOn" value="complex" />
-                               <xml-property name="container" value="ctag-pools" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Tenants">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack tenants." />
-                       </xml-properties>
-                       <xml-root-element name="tenants" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.openecomp.org.v9.Tenant" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Tenant">
-                       <xml-root-element name="tenant" />
-                       <java-attributes>
-                               <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id relative to the cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Readable name of tenant" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.openecomp.org.v9.Vservers" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack tenant" />
-                               <xml-property name="nameProps" value="tenant-name" />
-                               <xml-property name="indexedProps" value="tenant-name,tenant-id" />
-                               <xml-property name="searchable" value="tenant-id,tenant-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="tenants" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vservers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs." />
-                       </xml-properties>
-                       <xml-root-element name="vservers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.openecomp.org.v9.Vserver" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vserver">
-                       <xml-root-element name="vserver" />
-                       <java-attributes>
-                               <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier for this vserver relative to its tenant" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of vserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternative name of vserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.openecomp.org.v9.Volumes" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual Servers, aka virtual machine or VM." />
-                               <xml-property name="nameProps" value="vserver-name" />
-                               <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2" />
-                               <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2" />
-                               <xml-property name="dependentOn" value="tenant" />
-                               <xml-property name="container" value="vservers" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="LInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of logical interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="l-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.openecomp.org.v9.LInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LInterface">
-                       <xml-root-element name="l-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name given to the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="MAC address for the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Human friendly text regarding this interface." />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.openecomp.org.v9.Vlans" />
-                               <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.openecomp.org.v9.SriovVfs" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v9.L3InterfaceIpv4AddressList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v9.L3InterfaceIpv6AddressList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Logical interfaces, e.g., a vnic." />
-                               <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name" />
-                               <xml-property name="dependentOn" value="generic-vnf,newvce,vpe,p-interface,vserver,lag-interface" />
-                               <xml-property name="container" value="l-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SriovVfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of SR-IOV Virtual Functions." />
-                       </xml-properties>
-                       <xml-root-element name="sriov-vfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.openecomp.org.v9.SriovVf" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="SriovVf">
-                       <xml-root-element name="sriov-vf" />
-                       <java-attributes>
-                               <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="PCI ID used to identify the sriov-vf" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This option is used to set the link status.  Valid values as of 1607 are on, off, and auto." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)" />
-                               <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id" />
-                               <xml-property name="dependentOn" value="l-interface" />
-                               <xml-property name="container" value="sriov-vfs" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3InterfaceIpv4AddressList">
-                       <xml-root-element name="l3-interface-ipv4-address-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IP address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length, 32 for single address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator of fixed or floating address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPv4 Address Range" />
-                               <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
-                               <xml-property name="dependentOn" value="vlan,l-interface" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vlans">
-                       <xml-root-element name="vlans" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.openecomp.org.v9.Vlan" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vlan">
-                       <xml-root-element name="vlan" />
-                       <java-attributes>
-                               <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String that identifies the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to describe (the service associated with) the vlan" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="vpnId" name="vpn-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan" />
-                                               <xml-property name="dbAlias" value="vpn-id-local" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v9.L3InterfaceIpv4AddressList" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v9.L3InterfaceIpv6AddressList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Definition of vlan" />
-                               <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-id" />
-                               <xml-property name="uniqueProps" value="vpn-id" />
-                               <xml-property name="dependentOn" value="l-interface" />
-                               <xml-property name="container" value="vlans" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3InterfaceIpv6AddressList">
-                       <xml-root-element name="l3-interface-ipv6-address-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IP address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length, 128 for single address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Inner VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Outer VLAN tag" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator of fixed or floating address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of subnet that address belongs to" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPv6 Address Range" />
-                               <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
-                               <xml-property name="dependentOn" value="vlan,l-interface" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Volumes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of ephemeral Block storage volumes." />
-                       </xml-properties>
-                       <xml-root-element name="volumes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.openecomp.org.v9.Volume" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Volume">
-                       <xml-root-element name="volume" />
-                       <java-attributes>
-                               <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of block storage volume relative to the vserver." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Ephemeral Block storage volume." />
-                               <xml-property name="indexedProps" value="volume-id" />
-                               <xml-property name="dependentOn" value="vserver" />
-                               <xml-property name="container" value="volumes" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Flavors">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack flavors." />
-                       </xml-properties>
-                       <xml-root-element name="flavors" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.openecomp.org.v9.Flavor" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Flavor">
-                       <xml-root-element name="flavor" />
-                       <java-attributes>
-                               <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Flavor id, expected to be unique across cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Flavor name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number of CPUs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Amount of memory" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Disk space" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Amount of ephemeral disk space" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="amount of swap space allocation" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack flavor." />
-                               <xml-property name="nameProps" value="flavor-name" />
-                               <xml-property name="indexedProps" value="flavor-name,flavor-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="flavors" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Snapshots">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack snapshots" />
-                       </xml-properties>
-                       <xml-root-element name="snapshots" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.openecomp.org.v9.Snapshot" />
-                       </java-attributes>              
-               </java-type>
-               
-               <java-type name="Snapshot">
-                       <xml-root-element name="snapshot" />
-                       <java-attributes>
-                               <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Snapshot name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Operating system architecture" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The operating system version as specified by the distributor." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />                               
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack snapshot" />
-                               <xml-property name="nameProps" value="snapshot-name" />
-                               <xml-property name="uniqueProps" value="snapshot-id" />
-                               <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="snapshots" />
-                       </xml-properties>       
-               </java-type>
-               
-               <java-type name="GroupAssignments">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack group assignments" />
-                       </xml-properties>
-                       <xml-root-element name="group-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.openecomp.org.v9.GroupAssignment" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="GroupAssignment">
-                       <xml-root-element name="group-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group id, expected to be unique across cloud-region." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group type - the type of group this instance refers to" />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group name - name assigned to the group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group description - description of the group" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>          
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)." />
-                               <xml-property name="nameProps" value="group-name" />
-                               <xml-property name="indexedProps" value="group-id,group-type,group-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="group-assignments" />
-                       </xml-properties>
-               </java-type>                    
-
-               <java-type name="Images">
-                       <xml-properties>
-                               <xml-property name="description" value="Collectio of Openstack images." />
-                       </xml-properties>
-                       <xml-root-element name="images" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.openecomp.org.v9.Image" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Image">
-                       <xml-root-element name="image" />
-                       <java-attributes>
-                               <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Image id, expected to be unique across cloud region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Image name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Operating system architecture." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The operating system version as specified by the distributor." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v9.Metadata" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack image." />
-                               <xml-property name="nameProps" value="image-name" />
-                               <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="images" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Metadata">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of metadatum (key/value pairs)" />
-                       </xml-properties>
-                       <xml-root-element name="metadata" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.openecomp.org.v9.Metadatum" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Metadatum">
-                       <xml-root-element name="metadatum" />
-                       <java-attributes>
-                               <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Key/value pairs" />
-                               <xml-property name="indexedProps" value="metaname" />
-                               <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model" />
-                               <xml-property name="container" value="metadata" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="DvsSwitches">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and VPEs." />
-                       </xml-properties>
-                       <xml-root-element name="dvs-switches" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.openecomp.org.v9.DvsSwitch" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="DvsSwitch">
-                       <xml-root-element name="dvs-switch" />
-                       <java-attributes>
-                               <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="DVS switch name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL used to reach the vcenter" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs.  A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. " />
-                               <xml-property name="indexedProps" value="vcenter-url,switch-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="dvs-switches" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="NetworkProfiles">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of network profiles" />
-                       </xml-properties>
-                       <xml-root-element name="network-profiles" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.openecomp.org.v9.NetworkProfile" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NetworkProfile">
-                       <xml-root-element name="network-profile" />
-                       <java-attributes>
-                               <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique name of network profile." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encrypted SNMP community string" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Network profile populated by SDN-GP for SNMP" />
-                               <xml-property name="indexedProps" value="nm-profile-name" />
-                               <xml-property name="container" value="network-profiles" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pservers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of compute hosts." />
-                       </xml-properties>
-                       <xml-root-element name="pservers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.openecomp.org.v9.Pserver" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pserver">
-                       <xml-root-element name="pserver" />
-                       <java-attributes>
-                               <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value from executing hostname on the compute node." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="PTNII name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number of cpus" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Disk size, in GBs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="RAM size, in MBs" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Fully-qualified domain name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Serial number, may be queried" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 OAM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of Pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="internet topology of Pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="alternative pserver name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="purpose of pserver" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v9.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver." />
-                               <xml-property name="nameProps" value="pserver-name2" />
-                               <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2,inv-status" />
-                               <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address" />
-                               <xml-property name="container" value="pservers" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="p-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.openecomp.org.v9.PInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PInterface">
-                       <xml-root-element name="p-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name that identifies the physical interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Nature of the services and connectivity on this port." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="CLEI or other specification for p-interface hardware." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role specification for p-interface hardware." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates the physical properties of the interface." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Physical interface (e.g., nic)" />
-                               <xml-property name="indexedProps" value="interface-name,prov-status" />
-                               <xml-property name="nameProps" value="prov-status" />
-                               <xml-property name="dependentOn" value="vpls-pe,pserver,pnf" />
-                               <xml-property name="container" value="p-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="LagInterfaces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of link aggregate interfaces." />
-                       </xml-properties>
-                       <xml-root-element name="lag-interfaces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.openecomp.org.v9.LagInterface" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LagInterface">
-                       <xml-root-element name="lag-interface" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name that identifies the link aggregate interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Human friendly text regarding this interface." />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Link aggregate interface" />
-                               <xml-property name="indexedProps" value="interface-name,interface-id,interface-role" />
-                               <xml-property name="dependentOn" value="generic-vnf,pserver,vpe,vpls-pe,pnf" />
-                               <xml-property name="container" value="lag-interfaces" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="OamNetworks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly.  Do not use for new purposes. " />
-                       </xml-properties>
-                       <xml-root-element name="oam-networks" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.openecomp.org.v9.OamNetwork" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="OamNetwork">
-                       <xml-root-element name="oam-network" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the network. Unique across a cloud-region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="cvlan-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="OAM network, to be deprecated shortly.  Do not use for new purposes. " />
-                               <xml-property name="nameProps" value="network-name" />
-                               <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="oam-networks" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="AvailabilityZones">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of availability zones" />
-                       </xml-properties>
-                       <xml-root-element name="availability-zones" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v9.AvailabilityZone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="AvailabilityZone">
-                       <xml-root-element name="availability-zone" />
-                       <java-attributes>
-                               <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the availability zone.  Unique across a cloud region" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of hypervisor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values." />
-                                               <xml-property name="dbAlias" value="operational-status" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers" />
-                               <xml-property name="indexedProps" value="availability-zone-name" />
-                               <xml-property name="dependentOn" value="cloud-region" />
-                               <xml-property name="container" value="availability-zones" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VirtualDataCenters">
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
-                       </xml-properties>
-                       <xml-root-element name="virtual-data-centers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.openecomp.org.v9.VirtualDataCenter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VirtualDataCenter">
-                       <xml-root-element name="virtual-data-center" />
-                       <java-attributes>
-                               <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of the vdc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the virtual data center" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
-                               <xml-property name="nameProps" value="vdc-name" />
-                               <xml-property name="indexedProps" value="vdc-name,vdc-id" />
-                               <xml-property name="container" value="virtual-data-centers" />
-                               <xml-property name="namespace" value="cloud-infrastructure" />
-                       </xml-properties>
-               </java-type>
-
-
-
-
-               <java-type name="Business">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for business related constructs" />
-                       </xml-properties>
-                       <xml-root-element name="business" />
-                       <java-attributes>
-                               <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.openecomp.org.v9.Connectors" />
-                               <xml-element java-attribute="customers" name="customers" type="inventory.aai.openecomp.org.v9.Customers" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Connectors">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
-                       </xml-properties>
-                       <xml-root-element name="connectors" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.openecomp.org.v9.Connector" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Connector">
-                       <xml-root-element name="connector" />
-                       <java-attributes>
-                               <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of resource instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v9.Metadata" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
-                               <xml-property name="indexedProps" value="resource-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version" />
-                               <xml-property name="container" value="connectors" />
-                               <xml-property name="namespace" value="business" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Customers">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information." />
-                       </xml-properties>
-                       <xml-root-element name="customers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.openecomp.org.v9.Customer" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Customer">
-                       <xml-root-element name="customer" />
-                       <java-attributes>
-                               <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers." />
-                                               <xml-property name="defaultValue" value="CUST" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.openecomp.org.v9.ServiceSubscriptions" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="customer identifiers to provide linkage back to BSS information." />
-                               <xml-property name="nameProps" value="subscriber-name" />
-                               <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type" />
-                               <xml-property name="searchable" value="global-customer-id,subscriber-name" />
-                               <xml-property name="uniqueProps" value="global-customer-id" />
-                               <xml-property name="container" value="customers" />
-                               <xml-property name="namespace" value="business" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceSubscriptions">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of objects that group service instances." />
-                       </xml-properties>
-                       <xml-root-element name="service-subscriptions" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.openecomp.org.v9.ServiceSubscription" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceSubscription">
-                       <xml-root-element name="service-subscription" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
+    <xml-schema element-form-default="QUALIFIED">
+        <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v9" />
+    </xml-schema>
+    <java-types>
+        <java-type name="Inventory">
+            <xml-root-element name="inventory" />
+            <java-attributes>
+                <xml-element java-attribute="search" name="search" type="inventory.aai.openecomp.org.v9.Search" />
+                <xml-element java-attribute="actions" name="actions" type="inventory.aai.openecomp.org.v9.Actions" />
+                <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.openecomp.org.v9.CloudInfrastructure" />
+                <xml-element java-attribute="business" name="business" type="inventory.aai.openecomp.org.v9.Business" />
+                <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.openecomp.org.v9.ServiceDesignAndCreation" />
+                <xml-element java-attribute="network" name="network" type="inventory.aai.openecomp.org.v9.Network" />
+                <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.openecomp.org.v9.AaiInternal" />
+                <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.openecomp.org.v9.Nodes"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Nodes">
+            <xml-root-element name="nodes" />
+        </java-type>
+        <java-type name="Search">
+            <xml-root-element name="search" />
+            <java-attributes>
+                <xml-element java-attribute="edgeTagQueryResult" name="edge-tag-query-result" type="inventory.aai.openecomp.org.v9.EdgeTagQueryResult" />
+                <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.openecomp.org.v9.EdgeTagQueryRequest" />
+                <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.openecomp.org.v9.SearchResults" />
+                <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.openecomp.org.v9.SdnZoneResponse" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="EdgeTagQueryResult">
+            <xml-root-element name="edge-tag-query-result" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v9.TaggedInventoryItemList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="TaggedInventoryItemList">
+            <xml-root-element name="tagged-inventory-item-list" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItem" name="inventory-item" type="inventory.aai.openecomp.org.v9.InventoryItem" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="InventoryItem">
+            <xml-root-element name="inventory-item" />
+            <java-attributes>
+                <xml-element java-attribute="inventoryItemType" name="inventory-item-type" type="java.lang.String" />
+                <xml-element java-attribute="inventoryItemLink" name="inventory-item-link" type="java.lang.String" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="inventoryItemData" name="inventory-item-data" type="inventory.aai.openecomp.org.v9.InventoryItemData" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.openecomp.org.v9.TaggedInventoryItemList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="InventoryItemData">
+            <xml-root-element name="inventory-item-data" />
+            <java-attributes>
+                <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+                <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="EdgeTagQueryRequest">
+            <xml-root-element name="edge-tag-query-request" />
+            <java-attributes>
+                <xml-element java-attribute="edgeTag" name="edge-tag" type="java.lang.String" />
+                <xml-element java-attribute="resultDetail" name="result-detail" type="java.lang.String" />
+                <xml-element java-attribute="startNodeType" name="start-node-type" type="java.lang.String" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="startNodeFilter" name="start-node-filter" type="inventory.aai.openecomp.org.v9.StartNodeFilter" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.openecomp.org.v9.IncludeNodeFilter" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.openecomp.org.v9.SecondaryFilter" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="StartNodeFilter">
+            <xml-root-element name="start-node-filter" />
+            <java-attributes>
+                <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+                <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="IncludeNodeFilter">
+            <xml-root-element name="include-node-filter" />
+            <java-attributes>
+                <xml-element java-attribute="includeNodeType" name="include-node-type" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SecondaryFilter">
+            <xml-root-element name="secondary-filter" />
+            <java-attributes>
+                <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+                <xml-element java-attribute="filterType" name="filter-type" type="java.lang.String" />
+                <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SearchResults">
+            <xml-root-element name="search-results" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="resultData" name="result-data" type="inventory.aai.openecomp.org.v9.ResultData" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ResultData">
+            <xml-root-element name="result-data" />
+            <java-attributes>
+                <xml-element java-attribute="resourceType" name="resource-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The specific type of node in the A&amp;AI graph" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceLink" name="resource-link" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The URL to the specific resource" />
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SdnZoneResponse">
+            <xml-root-element name="sdn-zone-response" />
+            <java-attributes>
+                <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v9.OamNetworks" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.openecomp.org.v9.AzAndDvsSwitches" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="AzAndDvsSwitches">
+            <xml-root-element name="az-and-dvs-switches" />
+            <java-attributes>
+                <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v9.DvsSwitches" />
+                <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v9.AvailabilityZone" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Actions">
+            <xml-properties>
+                <xml-property name="description" value="APIs that are more action related than REST (e.g., notify, update)." />
+            </xml-properties>
+            <xml-root-element name="actions" />
+            <java-attributes>
+                <xml-element java-attribute="update" name="update" type="inventory.aai.openecomp.org.v9.Update" />
+                <xml-element java-attribute="notify" name="notify" type="inventory.aai.openecomp.org.v9.Notify" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Update">
+            <xml-properties>
+                <xml-property name="description" value="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team." />
+            </xml-properties>
+            <xml-root-element name="update" />
+            <java-attributes>
+                <xml-element java-attribute="updateNodeType" name="update-node-type" required="true" type="java.lang.String" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="updateNodeKey" name="update-node-key" type="inventory.aai.openecomp.org.v9.UpdateNodeKey" />
+                <xml-element java-attribute="updateNodeUri" name="update-node-uri" type="java.lang.String" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="action" name="action" type="inventory.aai.openecomp.org.v9.Action" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Action">
+            <xml-root-element name="action" />
+            <java-attributes>
+                <xml-element java-attribute="actionType" name="action-type" type="java.lang.String" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="actionData" name="action-data" type="inventory.aai.openecomp.org.v9.ActionData" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ActionData">
+            <xml-root-element name="action-data" />
+            <java-attributes>
+                <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+                <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="UpdateNodeKey">
+            <xml-root-element name="update-node-key" />
+            <java-attributes>
+                <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
+                <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Notify">
+            <xml-root-element name="notify" />
+            <java-attributes>
+                <xml-element java-attribute="eventId" name="event-id" required="true" type="java.lang.String" />
+                <xml-element java-attribute="nodeType" name="node-type" type="java.lang.String" />
+                <xml-element java-attribute="eventTrigger" name="event-trigger" type="java.lang.String" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="keyData" name="key-data" type="inventory.aai.openecomp.org.v9.KeyData" />
+                <xml-element java-attribute="selflink" name="selflink" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="KeyData">
+            <xml-root-element name="key-data" />
+            <java-attributes>
+                <xml-element java-attribute="keyName" name="key-name" type="java.lang.String" />
+                <xml-element java-attribute="keyValue" name="key-value" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="CloudInfrastructure">
+            <xml-properties>
+                <xml-property name="description" value="Namespace for cloud infrastructure." />
+            </xml-properties>
+            <xml-root-element name="cloud-infrastructure" />
+            <java-attributes>
+                <xml-element java-attribute="complexes" name="complexes" type="inventory.aai.openecomp.org.v9.Complexes" />
+                <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.openecomp.org.v9.CloudRegions" />
+                <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.openecomp.org.v9.NetworkProfiles" />
+                <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.openecomp.org.v9.Pservers" />
+                <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.openecomp.org.v9.VirtualDataCenters" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="CloudRegions">
+            <xml-root-element name="cloud-regions" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="cloudRegion" name="cloud-region" type="inventory.aai.openecomp.org.v9.CloudRegion" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="CloudRegion">
+            <xml-root-element name="cloud-region" />
+            <java-attributes>
+                <xml-element java-attribute="cloudOwner" name="cloud-owner" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Identifies the vendor and cloud name. First part of composite key should be formatted as vendor-cloudname" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cloudRegionId" name="cloud-region-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Identifier used by the vendor for the region. Second part of composite key" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cloudType" name="cloud-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Type of the cloud (e.g., openstack)" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ownerDefinedType" name="owner-defined-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Cloud-owner defined type indicator (e.g., dcp, lcp)" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cloudRegionVersion" name="cloud-region-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Software version employed at the site.  NOTE - THIS FIELD IS NOT KEPT UP TO DATE." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL of the keystone identity service" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cloudZone" name="cloud-zone" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Zone where the cloud is homed.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="complex name for cloud-region instance.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="volumeGroups" name="volume-groups" type="inventory.aai.openecomp.org.v9.VolumeGroups" />
+                <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.openecomp.org.v9.Tenants" />
+                <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.openecomp.org.v9.Flavors" />
+                <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.openecomp.org.v9.GroupAssignments" />
+                <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.openecomp.org.v9.Snapshots" />
+                <xml-element java-attribute="images" name="images" type="inventory.aai.openecomp.org.v9.Images" />
+                <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.openecomp.org.v9.DvsSwitches" />
+                <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.openecomp.org.v9.OamNetworks" />
+                <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.openecomp.org.v9.AvailabilityZones" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation. In AT&amp;Ts AIC cloud, this could be an LCP or DCP. Cloud regions are uniquely identified by a composite key, cloud-owner + cloud-region-id. The format of the cloud-owner is vendor-cloudname and we will use att-aic for AT&amp;T's AIC." />
+                <xml-property name="indexedProps" value="cloud-owner,cloud-region-id,cloud-type,owner-defined-type" />
+                <xml-property name="nameProps" value="owner-defined-type" />
+                <xml-property name="container" value="cloud-regions" />
+                <xml-property name="namespace" value="cloud-infrastructure" />
+            </xml-properties>
+        </java-type>
+        <java-type name="VolumeGroups">
+            <xml-properties>
+                <xml-property name="description" value="Collection of persistent block-level storage." />
+            </xml-properties>
+            <xml-root-element name="volume-groups" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="volumeGroup" name="volume-group" type="inventory.aai.openecomp.org.v9.VolumeGroup" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VolumeGroup">
+            <xml-root-element name="volume-group" />
+            <java-attributes>
+                <xml-element java-attribute="volumeGroupId" name="volume-group-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of volume-group." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="volumeGroupName" name="volume-group-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the volume group." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Heat stack id corresponding to this volume-group" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this volume-group" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+                        <xml-property name="dbAlias" value="model-customization-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfModulePersonaModelCustomizationId" name="vf-module-persona-model-customization-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="helps relate the volume group to the vf-module whose components will require the volume group" />
+                        <xml-property name="dbAlias" value="vf-module-model-customization-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Persistent block-level storage." />
+                <xml-property name="indexedProps" value="volume-group-name,vnf-type,heat-stack-id,volume-group-id" />
+                <xml-property name="searchable" value="volume-group-id,volume-group-name" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="volume-groups" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="RelationshipList">
+            <xml-root-element name="relationship-list" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="relationship" name="relationship" type="inventory.aai.openecomp.org.v9.Relationship" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Relationship">
+            <xml-root-element name="relationship" />
+            <java-attributes>
+                <xml-element java-attribute="relatedTo" name="related-to" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="A keyword provided by A&amp;AI to indicate type of node." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relatedLink" name="related-link" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to the object in A&amp;AI." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element container-type="java.util.ArrayList" java-attribute="relationshipData" name="relationship-data" type="inventory.aai.openecomp.org.v9.RelationshipData" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.openecomp.org.v9.RelatedToProperty" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="RelatedToProperty">
+            <xml-root-element name="related-to-property" />
+            <java-attributes>
+                <xml-element java-attribute="propertyKey" name="property-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Key part of a key/value pair" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Value part of a key/value pair" />
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="RelationshipData">
+            <xml-root-element name="relationship-data" />
+            <java-attributes>
+                <xml-element java-attribute="relationshipKey" name="relationship-key" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="A keyword provided by A&amp;AI to indicate an attribute." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipValue" name="relationship-value" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Value of the attribute." />
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Complexes">
+            <xml-properties>
+                <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
+            </xml-properties>
+            <xml-root-element name="complexes" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="complex" name="complex" type="inventory.aai.openecomp.org.v9.Complex" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Complex">
+            <xml-root-element name="complex" />
+            <java-attributes>
+                <xml-element java-attribute="physicalLocationId" name="physical-location-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier for physical location, e.g., CLLI" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="dataCenterCode" name="data-center-code" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Data center code which can be an alternate way to identify a complex" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="complexName" name="complex-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Gamma complex name for LCP instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="identityUrl" name="identity-url" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL of the keystone identity service" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="physicalLocationType" name="physical-location-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Type, e.g., central office, data center." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="street1" name="street1" required="true" type="java.lang.String" />
+                <xml-element java-attribute="street2" name="street2" type="java.lang.String" />
+                <xml-element java-attribute="city" name="city" required="true" type="java.lang.String" />
+                <xml-element java-attribute="state" name="state" type="java.lang.String" />
+                <xml-element java-attribute="postalCode" name="postal-code" required="true" type="java.lang.String" />
+                <xml-element java-attribute="country" name="country" required="true" type="java.lang.String" />
+                <xml-element java-attribute="region" name="region" required="true" type="java.lang.String" />
+                <xml-element java-attribute="latitude" name="latitude" type="java.lang.String" />
+                <xml-element java-attribute="longitude" name="longitude" type="java.lang.String" />
+                <xml-element java-attribute="elevation" name="elevation" type="java.lang.String" />
+                <xml-element java-attribute="lata" name="lata" type="java.lang.String" />
+                <xml-element java-attribute="ctagPools" name="ctag-pools" type="inventory.aai.openecomp.org.v9.CtagPools" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Collection of physical locations that can house cloud-regions." />
+                <xml-property name="indexedProps" value="identity-url,data-center-code,complex-name,physical-location-id" />
+                <xml-property name="searchable" value="physical-location-id,data-center-code,complex-name,street1,street2,postal-code" />
+                <xml-property name="uniqueProps" value="physical-location-id" />
+                <xml-property name="container" value="complexes" />
+                <xml-property name="namespace" value="cloud-infrastructure" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="CtagPools">
+            <xml-root-element name="ctag-pools" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="ctagPool" name="ctag-pool" type="inventory.aai.openecomp.org.v9.CtagPool" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="CtagPool">
+            <xml-root-element name="ctag-pool" />
+            <java-attributes>
+                <xml-element java-attribute="targetPe" name="target-pe" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="The Target provider edge router" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the availability zone" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ctagPoolPurpose" name="ctag-pool-purpose" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Describes what the intended purpose of this pool is." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ctagValues" name="ctag-values" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Comma separated list of ctags" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="A collection of C tags (vlan tags) grouped for a specific purpose." />
+                <xml-property name="indexedProps" value="availability-zone-name" />
+                <xml-property name="dependentOn" value="complex" />
+                <xml-property name="container" value="ctag-pools" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Tenants">
+            <xml-properties>
+                <xml-property name="description" value="Collection of openstack tenants." />
+            </xml-properties>
+            <xml-root-element name="tenants" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="tenant" name="tenant" type="inventory.aai.openecomp.org.v9.Tenant" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Tenant">
+            <xml-root-element name="tenant" />
+            <java-attributes>
+                <xml-element java-attribute="tenantId" name="tenant-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id relative to the cloud-region." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tenantName" name="tenant-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Readable name of tenant" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vservers" name="vservers" type="inventory.aai.openecomp.org.v9.Vservers" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Openstack tenant" />
+                <xml-property name="nameProps" value="tenant-name" />
+                <xml-property name="indexedProps" value="tenant-name,tenant-id" />
+                <xml-property name="searchable" value="tenant-id,tenant-name" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="tenants" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Vservers">
+            <xml-properties>
+                <xml-property name="description" value="Collection of virtual Servers, aka virtual machines or VMs." />
+            </xml-properties>
+            <xml-root-element name="vservers" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vserver" name="vserver" type="inventory.aai.openecomp.org.v9.Vserver" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Vserver">
+            <xml-root-element name="vserver" />
+            <java-attributes>
+                <xml-element java-attribute="vserverId" name="vserver-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier for this vserver relative to its tenant" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vserverName" name="vserver-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of vserver" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vserverName2" name="vserver-name2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Alternative name of vserver" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vserverSelflink" name="vserver-selflink" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Used to indicate whether closed loop function is enabled on this node" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="volumes" name="volumes" type="inventory.aai.openecomp.org.v9.Volumes" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Virtual Servers, aka virtual machine or VM." />
+                <xml-property name="nameProps" value="vserver-name" />
+                <xml-property name="indexedProps" value="is-closed-loop-disabled,prov-status,vserver-name,vserver-id,in-maint,vserver-name2" />
+                <xml-property name="searchable" value="vserver-id,vserver-name,vserver-name2" />
+                <xml-property name="dependentOn" value="tenant" />
+                <xml-property name="container" value="vservers" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="LInterfaces">
+            <xml-properties>
+                <xml-property name="description" value="Collection of logical interfaces." />
+            </xml-properties>
+            <xml-root-element name="l-interfaces" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="lInterface" name="l-interface" type="inventory.aai.openecomp.org.v9.LInterface" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="LInterface">
+            <xml-root-element name="l-interface" />
+            <java-attributes>
+                <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name given to the interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="E.g., CUSTOMER, UPLINK, etc." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="v6WanLinkIp" name="v6-wan-link-ip" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Questionably placed - v6 ip addr of this interface (is in vr-lan-interface from Mary B." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ID of interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="macaddr" name="macaddr" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="MAC address for the interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkName" name="network-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the network" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Whether A&amp;AI should be managing this interface of not. Could have value like CUSTOMER" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Human friendly text regarding this interface." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.openecomp.org.v9.Vlans" />
+                <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.openecomp.org.v9.SriovVfs" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v9.L3InterfaceIpv4AddressList" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v9.L3InterfaceIpv6AddressList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Logical interfaces, e.g., a vnic." />
+                <xml-property name="indexedProps" value="macaddr,interface-id,interface-name,network-name" />
+                <xml-property name="dependentOn" value="generic-vnf,newvce,vpe,p-interface,vserver,lag-interface" />
+                <xml-property name="container" value="l-interfaces" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="SriovVfs">
+            <xml-properties>
+                <xml-property name="description" value="Collection of SR-IOV Virtual Functions." />
+            </xml-properties>
+            <xml-root-element name="sriov-vfs" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="sriovVf" name="sriov-vf" type="inventory.aai.openecomp.org.v9.SriovVf" />
+            </java-attributes>
+        </java-type>
+        <java-type name="SriovVf">
+            <xml-root-element name="sriov-vf" />
+            <java-attributes>
+                <xml-element java-attribute="pciId" name="pci-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="PCI ID used to identify the sriov-vf" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfVlanFilter" name="vf-vlan-filter" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This metadata provides option to specify list of VLAN filters applied on VF to pass the traffic to VM." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfMacFilter" name="vf-mac-filter" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="When MAC filters are specified, VF-agent service configures VFs to do MAC level filtering before the traffic is passed to VM." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfVlanStrip" name="vf-vlan-strip" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="When this field is set to true, VF will configured to strip the outer TAG before the traffic is passed to VM." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfVlanAntiSpoofCheck" name="vf-vlan-anti-spoof-check" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="This option ensures anti VLAN spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfMacAntiSpoofCheck" name="vf-mac-anti-spoof-check" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="This option ensures anti MAC spoof checks are done at the VF level to comply with security. The disable check will also be honored per the VNF needs for trusted VMs." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfMirrors" name="vf-mirrors" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This option defines the set of Mirror objects which essentially mirrors the traffic from source to set of collector VNF Ports." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfBroadcastAllow" name="vf-broadcast-allow" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows all broadcast traffic to reach the VM" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfUnknownMulticastAllow" name="vf-unknown-multicast-allow" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown multicast traffic to reach the VM" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfUnknownUnicastAllow" name="vf-unknown-unicast-allow" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="This option, if set to true, sets the VF in promiscuous mode and allows unknown unicast traffic to reach the VM" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfInsertStag" name="vf-insert-stag" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="This option, if set to true, instructs to insert outer tag after traffic comes out of VM." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfLinkStatus" name="vf-link-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This option is used to set the link status.  Valid values as of 1607 are on, off, and auto." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron network id of the interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="SR-IOV Virtual Function (not to be confused with virtual network function)" />
+                <xml-property name="indexedProps" value="pci-id,vf-vlan-filter,vf-mac-filter,vf-vlan-strip,neutron-network-id" />
+                <xml-property name="dependentOn" value="l-interface" />
+                <xml-property name="container" value="sriov-vfs" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="L3InterfaceIpv4AddressList">
+            <xml-root-element name="l3-interface-ipv4-address-list" />
+            <java-attributes>
+                <xml-element java-attribute="l3InterfaceIpv4Address" name="l3-interface-ipv4-address" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="IP address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="l3InterfaceIpv4PrefixLength" name="l3-interface-ipv4-prefix-length" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Prefix length, 32 for single address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Inner VLAN tag" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Outer VLAN tag" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicator of fixed or floating address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron id of subnet that address belongs to" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="IPv4 Address Range" />
+                <xml-property name="indexedProps" value="l3-interface-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
+                <xml-property name="dependentOn" value="vlan,l-interface" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Vlans">
+            <xml-root-element name="vlans" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vlan" name="vlan" type="inventory.aai.openecomp.org.v9.Vlan" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Vlan">
+            <xml-root-element name="vlan" />
+            <java-attributes>
+                <xml-element java-attribute="vlanInterface" name="vlan-interface" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="String that identifies the interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Inner VLAN tag" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Outer VLAN tag" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the numeric part of the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the units corresponding to the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanDescription" name="vlan-description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used to describe (the service associated with) the vlan" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="backdoorConnection" name="backdoor-connection" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Whether customer is going to use this VLAN for backdoor connection to another customer premise device." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vpnId" name="vpn-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan" />
+                        <xml-property name="dbAlias" value="vpn-id-local" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.openecomp.org.v9.L3InterfaceIpv4AddressList" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.openecomp.org.v9.L3InterfaceIpv6AddressList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Definition of vlan" />
+                <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-id" />
+                <xml-property name="uniqueProps" value="vpn-id" />
+                <xml-property name="dependentOn" value="l-interface" />
+                <xml-property name="container" value="vlans" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="L3InterfaceIpv6AddressList">
+            <xml-root-element name="l3-interface-ipv6-address-list" />
+            <java-attributes>
+                <xml-element java-attribute="l3InterfaceIpv6Address" name="l3-interface-ipv6-address" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="IP address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="l3InterfaceIpv6PrefixLength" name="l3-interface-ipv6-prefix-length" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Prefix length, 128 for single address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Inner VLAN tag" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Outer VLAN tag" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="isFloating" name="is-floating" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicator of fixed or floating address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron network id of the interface that address belongs to" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron id of subnet that address belongs to" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="IPv6 Address Range" />
+                <xml-property name="indexedProps" value="l3-interface-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id" />
+                <xml-property name="dependentOn" value="vlan,l-interface" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Volumes">
+            <xml-properties>
+                <xml-property name="description" value="Collection of ephemeral Block storage volumes." />
+            </xml-properties>
+            <xml-root-element name="volumes" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="volume" name="volume" type="inventory.aai.openecomp.org.v9.Volume" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Volume">
+            <xml-root-element name="volume" />
+            <java-attributes>
+                <xml-element java-attribute="volumeId" name="volume-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of block storage volume relative to the vserver." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="volumeSelflink" name="volume-selflink" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Ephemeral Block storage volume." />
+                <xml-property name="indexedProps" value="volume-id" />
+                <xml-property name="dependentOn" value="vserver" />
+                <xml-property name="container" value="volumes" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Flavors">
+            <xml-properties>
+                <xml-property name="description" value="Collection of openstack flavors." />
+            </xml-properties>
+            <xml-root-element name="flavors" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="flavor" name="flavor" type="inventory.aai.openecomp.org.v9.Flavor" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Flavor">
+            <xml-root-element name="flavor" />
+            <java-attributes>
+                <xml-element java-attribute="flavorId" name="flavor-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Flavor id, expected to be unique across cloud-region." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorName" name="flavor-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Flavor name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorVcpus" name="flavor-vcpus" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Number of CPUs" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorRam" name="flavor-ram" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Amount of memory" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorDisk" name="flavor-disk" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Disk space" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorEphemeral" name="flavor-ephemeral" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Amount of ephemeral disk space" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorSwap" name="flavor-swap" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="amount of swap space allocation" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorIsPublic" name="flavor-is-public" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="whether flavor is available to all users or private to the tenant it was created in." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorSelflink" name="flavor-selflink" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="flavorDisabled" name="flavor-disabled" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="Boolean as to whether this flavor is no longer enabled" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Openstack flavor." />
+                <xml-property name="nameProps" value="flavor-name" />
+                <xml-property name="indexedProps" value="flavor-name,flavor-id" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="flavors" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Snapshots">
+            <xml-properties>
+                <xml-property name="description" value="Collection of openstack snapshots" />
+            </xml-properties>
+            <xml-root-element name="snapshots" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="snapshot" name="snapshot" type="inventory.aai.openecomp.org.v9.Snapshot" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Snapshot">
+            <xml-root-element name="snapshot" />
+            <java-attributes>
+                <xml-element java-attribute="snapshotId" name="snapshot-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Snapshot id, this is the key UUID assoc associated in glance with the snapshots." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="snapshotName" name="snapshot-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Snapshot name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="snapshotArchitecture" name="snapshot-architecture" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Operating system architecture" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="snapshotOsDistro" name="snapshot-os-distro" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="snapshotOsVersion" name="snapshot-os-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The operating system version as specified by the distributor." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="application" name="application" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The application that the image instantiates." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The vendor of the application." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The version of the application." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="snapshotSelflink" name="snapshot-selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="prevSnapshotId" name="prev-snapshot-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field contains the UUID of the previous snapshot (if any)." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Openstack snapshot" />
+                <xml-property name="nameProps" value="snapshot-name" />
+                <xml-property name="uniqueProps" value="snapshot-id" />
+                <xml-property name="indexedProps" value="application,snapshot-name,application-vendor,snapshot-id,application-version,prev-snapshot-id" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="snapshots" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="GroupAssignments">
+            <xml-properties>
+                <xml-property name="description" value="Collection of openstack group assignments" />
+            </xml-properties>
+            <xml-root-element name="group-assignments" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="groupAssignment" name="group-assignment" type="inventory.aai.openecomp.org.v9.GroupAssignment" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="GroupAssignment">
+            <xml-root-element name="group-assignment" />
+            <java-attributes>
+                <xml-element java-attribute="groupId" name="group-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Group id, expected to be unique across cloud-region." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="groupType" name="group-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Group type - the type of group this instance refers to" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="groupName" name="group-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Group name - name assigned to the group" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="groupDescription" name="group-description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Group description - description of the group" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Openstack group-assignment used to store exclusivity groups (EG)." />
+                <xml-property name="nameProps" value="group-name" />
+                <xml-property name="indexedProps" value="group-id,group-type,group-name" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="group-assignments" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Images">
+            <xml-properties>
+                <xml-property name="description" value="Collectio of Openstack images." />
+            </xml-properties>
+            <xml-root-element name="images" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="image" name="image" type="inventory.aai.openecomp.org.v9.Image" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Image">
+            <xml-root-element name="image" />
+            <java-attributes>
+                <xml-element java-attribute="imageId" name="image-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Image id, expected to be unique across cloud region" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="imageName" name="image-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Image name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="imageArchitecture" name="image-architecture" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Operating system architecture." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="imageOsDistro" name="image-os-distro" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The common name of the operating system distribution in lowercase" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="imageOsVersion" name="image-os-version" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The operating system version as specified by the distributor." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="application" name="application" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The application that the image instantiates." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="applicationVendor" name="application-vendor" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The vendor of the application." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The version of the application." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="imageSelflink" name="image-selflink" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v9.Metadata" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Openstack image." />
+                <xml-property name="nameProps" value="image-name" />
+                <xml-property name="indexedProps" value="application,image-name,application-vendor,image-id,application-version" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="images" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Metadata">
+            <xml-properties>
+                <xml-property name="description" value="Collection of metadatum (key/value pairs)" />
+            </xml-properties>
+            <xml-root-element name="metadata" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="metadatum" name="metadatum" type="inventory.aai.openecomp.org.v9.Metadatum" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Metadatum">
+            <xml-root-element name="metadatum" />
+            <java-attributes>
+                <xml-element java-attribute="metaname" name="metaname" required="true" type="java.lang.String" xml-key="true" />
+                <xml-element java-attribute="metaval" name="metaval" required="true" type="java.lang.String" />
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Key/value pairs" />
+                <xml-property name="indexedProps" value="metaname" />
+                <xml-property name="dependentOn" value="tenant,image,service-instance,connector,model" />
+                <xml-property name="container" value="metadata" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="DvsSwitches">
+            <xml-properties>
+                <xml-property name="description" value="Collection of digital virtual switch metadata used for vmWare VCEs and VPEs." />
+            </xml-properties>
+            <xml-root-element name="dvs-switches" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="dvsSwitch" name="dvs-switch" type="inventory.aai.openecomp.org.v9.DvsSwitch" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="DvsSwitch">
+            <xml-root-element name="dvs-switch" />
+            <java-attributes>
+                <xml-element java-attribute="switchName" name="switch-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="DVS switch name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vcenterUrl" name="vcenter-url" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL used to reach the vcenter" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Digital virtual switch metadata, used by SDN-C to configure VCEs.  A&amp;AI needs to receive this data from the PO deployment team and administer it using the provisioningTool.sh into A&amp;AI. " />
+                <xml-property name="indexedProps" value="vcenter-url,switch-name" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="dvs-switches" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="NetworkProfiles">
+            <xml-properties>
+                <xml-property name="description" value="Collection of network profiles" />
+            </xml-properties>
+            <xml-root-element name="network-profiles" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="networkProfile" name="network-profile" type="inventory.aai.openecomp.org.v9.NetworkProfile" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="NetworkProfile">
+            <xml-root-element name="network-profile" />
+            <java-attributes>
+                <xml-element java-attribute="nmProfileName" name="nm-profile-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique name of network profile." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="communityString" name="community-string" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Encrypted SNMP community string" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Network profile populated by SDN-GP for SNMP" />
+                <xml-property name="indexedProps" value="nm-profile-name" />
+                <xml-property name="container" value="network-profiles" />
+                <xml-property name="namespace" value="cloud-infrastructure" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Pservers">
+            <xml-properties>
+                <xml-property name="description" value="Collection of compute hosts." />
+            </xml-properties>
+            <xml-root-element name="pservers" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="pserver" name="pserver" type="inventory.aai.openecomp.org.v9.Pserver" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Pserver">
+            <xml-root-element name="pserver" />
+            <java-attributes>
+                <xml-element java-attribute="hostname" name="hostname" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Value from executing hostname on the compute node." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ptniiEquipName" name="ptnii-equip-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="PTNII name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="numberOfCpus" name="number-of-cpus" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Number of cpus" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="diskInGigabytes" name="disk-in-gigabytes" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Disk size, in GBs" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ramInMegabytes" name="ram-in-megabytes" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="RAM size, in MBs" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="fqdn" name="fqdn" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Fully-qualified domain name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="pserverSelflink" name="pserver-selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used to configure device, also used for troubleshooting and is IP used for traps generated by device." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Serial number, may be queried" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV4 Loopback 0 address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV6 Loopback 0 address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV4 AIM address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV6 AIM address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV6 OAM address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="pserverId" name="pserver-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ID of Pserver" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="internetTopology" name="internet-topology" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="internet topology of Pserver" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="pserverName2" name="pserver-name2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="alternative pserver name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="purpose of pserver" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v9.PInterfaces" />
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Compute host whose hostname must be unique and must exactly match what is sent as a relationship to a vserver." />
+                <xml-property name="nameProps" value="pserver-name2" />
+                <xml-property name="indexedProps" value="hostname,in-maint,pserver-id,pserver-name2,inv-status" />
+                <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address" />
+                <xml-property name="container" value="pservers" />
+                <xml-property name="namespace" value="cloud-infrastructure" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="PInterfaces">
+            <xml-properties>
+                <xml-property name="description" value="Collection of physical interfaces." />
+            </xml-properties>
+            <xml-root-element name="p-interfaces" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="pInterface" name="p-interface" type="inventory.aai.openecomp.org.v9.PInterface" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="PInterface">
+            <xml-root-element name="p-interface" />
+            <java-attributes>
+                <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name that identifies the physical interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the numeric part of the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the units corresponding to the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="portDescription" name="port-description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Nature of the services and connectivity on this port." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipmentIdentifier" name="equipment-identifier" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CLEI or other specification for p-interface hardware." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Role specification for p-interface hardware." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceType" name="interface-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicates the physical properties of the interface." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Physical interface (e.g., nic)" />
+                <xml-property name="indexedProps" value="interface-name,prov-status" />
+                <xml-property name="nameProps" value="prov-status" />
+                <xml-property name="dependentOn" value="vpls-pe,pserver,pnf" />
+                <xml-property name="container" value="p-interfaces" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="LagInterfaces">
+            <xml-properties>
+                <xml-property name="description" value="Collection of link aggregate interfaces." />
+            </xml-properties>
+            <xml-root-element name="lag-interfaces" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="lagInterface" name="lag-interface" type="inventory.aai.openecomp.org.v9.LagInterface" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="LagInterface">
+            <xml-root-element name="lag-interface" />
+            <java-attributes>
+                <xml-element java-attribute="interfaceName" name="interface-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name that identifies the link aggregate interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceDescription" name="interface-description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Human friendly text regarding this interface." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the numeric part of the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the units corresponding to the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceId" name="interface-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ID of interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Link aggregate interface" />
+                <xml-property name="indexedProps" value="interface-name,interface-id,interface-role" />
+                <xml-property name="dependentOn" value="generic-vnf,pserver,vpe,vpls-pe,pnf" />
+                <xml-property name="container" value="lag-interfaces" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="OamNetworks">
+            <xml-properties>
+                <xml-property name="description" value="Collection of OAM networks, to be deprecated shortly.  Do not use for new purposes. " />
+            </xml-properties>
+            <xml-root-element name="oam-networks" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="oamNetwork" name="oam-network" type="inventory.aai.openecomp.org.v9.OamNetwork" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="OamNetwork">
+            <xml-root-element name="oam-network" />
+            <java-attributes>
+                <xml-element java-attribute="networkUuid" name="network-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of the network. Unique across a cloud-region" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the network." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="cvlan-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for VNF firewall rule so customer cannot send customer traffic over this oam network" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="OAM network, to be deprecated shortly.  Do not use for new purposes. " />
+                <xml-property name="nameProps" value="network-name" />
+                <xml-property name="indexedProps" value="cvlan-tag,network-uuid,network-name" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="oam-networks" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="AvailabilityZones">
+            <xml-properties>
+                <xml-property name="description" value="Collection of availability zones" />
+            </xml-properties>
+            <xml-root-element name="availability-zones" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.openecomp.org.v9.AvailabilityZone" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="AvailabilityZone">
+            <xml-root-element name="availability-zone" />
+            <java-attributes>
+                <xml-element java-attribute="availabilityZoneName" name="availability-zone-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the availability zone.  Unique across a cloud region" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="hypervisorType" name="hypervisor-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Type of hypervisor.  Source of truth should define valid values." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values." />
+                        <xml-property name="dbAlias" value="operational-status" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Availability zone, a collection of compute hosts/pservers" />
+                <xml-property name="indexedProps" value="availability-zone-name" />
+                <xml-property name="dependentOn" value="cloud-region" />
+                <xml-property name="container" value="availability-zones" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VirtualDataCenters">
+            <xml-properties>
+                <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
+            </xml-properties>
+            <xml-root-element name="virtual-data-centers" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="virtualDataCenter" name="virtual-data-center" type="inventory.aai.openecomp.org.v9.VirtualDataCenter" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VirtualDataCenter">
+            <xml-root-element name="virtual-data-center" />
+            <java-attributes>
+                <xml-element java-attribute="vdcId" name="vdc-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of the vdc" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vdcName" name="vdc-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the virtual data center" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Virtual organization of cloud infrastructure elements in a data center context" />
+                <xml-property name="nameProps" value="vdc-name" />
+                <xml-property name="indexedProps" value="vdc-name,vdc-id" />
+                <xml-property name="container" value="virtual-data-centers" />
+                <xml-property name="namespace" value="cloud-infrastructure" />
+            </xml-properties>
+        </java-type>
+
+
+
+
+        <java-type name="Business">
+            <xml-properties>
+                <xml-property name="description" value="Namespace for business related constructs" />
+            </xml-properties>
+            <xml-root-element name="business" />
+            <java-attributes>
+                <xml-element java-attribute="connectors" name="connectors" type="inventory.aai.openecomp.org.v9.Connectors" />
+                <xml-element java-attribute="customers" name="customers" type="inventory.aai.openecomp.org.v9.Customers" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Connectors">
+            <xml-properties>
+                <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
+            </xml-properties>
+            <xml-root-element name="connectors" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="connector" name="connector" type="inventory.aai.openecomp.org.v9.Connector" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Connector">
+            <xml-root-element name="connector" />
+            <java-attributes>
+                <xml-element java-attribute="resourceInstanceId" name="resource-instance-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of resource instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                        <xml-property name="dbAlias" value="model-invariant-id-local" />
+                        <xml-property name="requires" value="persona-model-version" />
+                        <xml-property name="visibility" value="deployment" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="persona-model-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="internal" />
+                        <xml-property name="dbAlias" value="model-version-id-local" />
+                        <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v9.Metadata" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Collection of resource instances used to connect a variety of disparate inventory widgets" />
+                <xml-property name="indexedProps" value="resource-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version" />
+                <xml-property name="container" value="connectors" />
+                <xml-property name="namespace" value="business" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Customers">
+            <xml-properties>
+                <xml-property name="description" value="Collection of customer identifiers to provide linkage back to BSS information." />
+            </xml-properties>
+            <xml-root-element name="customers" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.openecomp.org.v9.Customer" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Customer">
+            <xml-root-element name="customer" />
+            <java-attributes>
+                <xml-element java-attribute="globalCustomerId" name="global-customer-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Global customer id used across ECOMP to uniquely identify customer." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="subscriberName" name="subscriber-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Subscriber name, an alternate way to retrieve a customer." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="subscriberType" name="subscriber-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Subscriber type, a way to provide VID with only the INFRA customers." />
+                        <xml-property name="defaultValue" value="CUST" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceSubscriptions" name="service-subscriptions" type="inventory.aai.openecomp.org.v9.ServiceSubscriptions" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="customer identifiers to provide linkage back to BSS information." />
+                <xml-property name="nameProps" value="subscriber-name" />
+                <xml-property name="indexedProps" value="subscriber-name,global-customer-id,subscriber-type" />
+                <xml-property name="searchable" value="global-customer-id,subscriber-name" />
+                <xml-property name="uniqueProps" value="global-customer-id" />
+                <xml-property name="container" value="customers" />
+                <xml-property name="namespace" value="business" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="ServiceSubscriptions">
+            <xml-properties>
+                <xml-property name="description" value="Collection of objects that group service instances." />
+            </xml-properties>
+            <xml-root-element name="service-subscriptions" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="serviceSubscription" name="service-subscription" type="inventory.aai.openecomp.org.v9.ServiceSubscription" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ServiceSubscription">
+            <xml-root-element name="service-subscription" />
+            <java-attributes>
+                <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Value defined by orchestration to identify this service across ECOMP." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tempUbSubAccountId" name="temp-ub-sub-account-id" type="java.lang.String">
                     <xml-properties>
                         <xml-property name="description" value="This property will be deleted from A&amp;AI in the near future. Only stop gap solution." />
                     </xml-properties>
                 </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.openecomp.org.v9.ServiceInstances">
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Object that group service instances." />
-                               <xml-property name="indexedProps" value="service-type" />
-                               <xml-property name="dependentOn" value="customer" />
-                               <xml-property name="container" value="service-subscriptions" />
-                               <xml-property name="crossEntityReference" value="service-instance,service-type" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceInstances">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service instances" />
-                       </xml-properties>
-                       <xml-root-element name="service-instances" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.openecomp.org.v9.ServiceInstance" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceInstance">
-                       <xml-root-element name="service-instance" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Uniquely identifies this instance of a service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This field will store a name assigned to the service-instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates the total bandwidth to be used for this service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL customers will use to access the vHN Portal." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="An identifier that customers assign to the location where this service is being used." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this service." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v9.Metadata" />
-                               <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.openecomp.org.v9.AllottedResources" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Instance of a service" />
-                               <xml-property name="indexedProps" value="service-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status" />
-                               <xml-property name="nameProps" value="service-instance-name" />
-                               <xml-property name="searchable" value="service-instance-id,service-instance-name" />
-                               <xml-property name="uniqueProps" value="service-instance-id" />
-                               <xml-property name="dependentOn" value="service-subscription" />
-                               <xml-property name="container" value="service-instances" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceDesignAndCreation">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for objects managed by ASDC" />
-                       </xml-properties>
-                       <xml-root-element name="service-design-and-creation" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.openecomp.org.v9.VnfImages" />
-                               <xml-element java-attribute="services" name="services" type="inventory.aai.openecomp.org.v9.Services" />
-                               <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.openecomp.org.v9.ServiceCapabilities" />
-                               <xml-element java-attribute="models" name="models" type="inventory.aai.openecomp.org.v9.Models" />
-                               <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.openecomp.org.v9.NamedQueries" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VnfImages">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
-                       </xml-properties>
-                       <xml-root-element name="vnf-images" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.openecomp.org.v9.VnfImage" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VnfImage">
-                       <xml-root-element name="vnf-image" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfImageUuid" name="vnf-image-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of this asset" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The application that the image instantiates." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The vendor of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The version of the application." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
-                               <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version" />
-                               <xml-property name="uniqueProps" value="vnf-image-uuid" />
-                               <xml-property name="container" value="vnf-images" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Services">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service model definitions.  Likely to be deprecated in favor of models from ASDC." />
-                       </xml-properties>
-                       <xml-root-element name="services" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.openecomp.org.v9.Service" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Service">
-                       <xml-root-element name="service" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description of the service" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="URL to endpoint where AAI can get more details" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="service version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Stand-in for service model definitions.  Likely to be deprecated in favor of models from ASDC.  Does not strictly map to ASDC services." />
-                               <xml-property name="indexedProps" value="service-description,service-id" />
-                               <xml-property name="container" value="services" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ServiceCapabilities">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of service capabilities." />
-                       </xml-properties>
-                       <xml-root-element name="service-capabilities" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.openecomp.org.v9.ServiceCapability" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ServiceCapability">
-                       <xml-root-element name="service-capability" />
-                       <java-attributes>
-                               <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models.  No new use should be made of this." />
-                               <xml-property name="indexedProps" value="service-type,vnf-type" />
-                               <xml-property name="container" value="service-capabilities" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Network">
-                       <xml-properties>
-                               <xml-property name="description" value="Namespace for network inventory resources." />
-                       </xml-properties>
-                       <xml-root-element name="network" />
-                       <java-attributes>
-                               <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.openecomp.org.v9.LogicalLinks" />
-                               <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.openecomp.org.v9.SitePairSets" />
-                               <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.openecomp.org.v9.VpnBindings" />
-                               <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.openecomp.org.v9.VplsPes" />
-                               <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.openecomp.org.v9.MulticastConfigurations" />
-                               <xml-element java-attribute="vces" name="vces" type="inventory.aai.openecomp.org.v9.Vces" />
-                               <xml-element java-attribute="vpes" name="vpes" type="inventory.aai.openecomp.org.v9.Vpes" />
-                               <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.openecomp.org.v9.Vnfcs" />
-                               <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.openecomp.org.v9.L3Networks" />
-                               <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.openecomp.org.v9.NetworkPolicies" />
-                               <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.openecomp.org.v9.GenericVnfs" />
-                               <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.openecomp.org.v9.LagLinks" />
-                               <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.openecomp.org.v9.Newvces" />
-                               <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.openecomp.org.v9.Pnfs" />
-                               <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.openecomp.org.v9.PhysicalLinks" />
-                               <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.openecomp.org.v9.IpsecConfigurations" />
-                               <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.openecomp.org.v9.RouteTableReferences" />
-                               <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.openecomp.org.v9.InstanceGroups" />
-                               <xml-element java-attribute="zones" name="zones" type="inventory.aai.openecomp.org.v9.Zones" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LogicalLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of logical connections" />
-                       </xml-properties>
-                       <xml-root-element name="logical-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.openecomp.org.v9.LogicalLink" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LogicalLink">
-                       <xml-root-element name="logical-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of logical link, e.g., evc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4, v6, or ds for dual stack" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="For example, static or BGP" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indication of operational status of the logical link." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indication of the network use of the logical link." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of the logical-link, SDNC generates this." />
-                                       </xml-properties>
-                               </xml-element>
-                                       <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Circuit id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Reason for this entity, role it is playing" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points" />
-                               <xml-property name="indexedProps" value="link-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose" />
-                               <xml-property name="uniqueProps" value="link-id" />
-                               <xml-property name="container" value="logical-links" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="searchable" value="link-name" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SitePairSets">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf" />
-                       </xml-properties>
-                       <xml-root-element name="site-pair-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.openecomp.org.v9.SitePairSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SitePairSet">
-                       <xml-root-element name="site-pair-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of site pair set." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.openecomp.org.v9.RoutingInstances" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Set of instances for probes used to measure service level agreements" />
-                               <xml-property name="indexedProps" value="site-pair-set-id" />
-                               <xml-property name="uniqueProps" value="site-pair-set-id" />
-                               <xml-property name="container" value="site-pair-sets" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="RoutingInstances">
-                       <xml-properties>
-                               <xml-property name="description" value="set of probes related to generic-vnf routing instance" />
-                       </xml-properties>
-                       <xml-root-element name="routing-instances" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.openecomp.org.v9.RoutingInstance" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RoutingInstance">
-                       <xml-root-element name="routing-instance" />
-                       <java-attributes>
-                               <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of routing instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="rpm owner" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.openecomp.org.v9.SitePairs" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="routing-instance-id" />
-                               <xml-property name="uniqueProps" value="routing-instance-id" />
-                               <xml-property name="dependentOn" value="site-pair-set" />
-                               <xml-property name="container" value="routing-instances" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="SitePairs">
-                       <xml-properties>
-                               <xml-property name="description" value="probe within a set" />
-                       </xml-properties>
-                       <xml-root-element name="site-pairs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.openecomp.org.v9.SitePair" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="SitePair">
-                       <xml-root-element name="site-pair" />
-                       <java-attributes>
-                               <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ip version, v4, v6" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The type of destinatination equipment. Could be Router, etc." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.openecomp.org.v9.ClassesOfService" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="site-pair-id" />
-                               <xml-property name="uniqueProps" value="site-pair-id" />
-                               <xml-property name="dependentOn" value="routing-instance" />
-                               <xml-property name="container" value="site-pairs" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="ClassesOfService">
-                       <xml-properties>
-                               <xml-property name="description" value="class-of-service of probe" />
-                       </xml-properties>
-                       <xml-root-element name="classes-of-service" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.openecomp.org.v9.ClassOfService" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ClassOfService">
-                       <xml-root-element name="class-of-service" />
-                       <java-attributes>
-                               <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="type of probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="cos" />
-                               <xml-property name="dependentOn" value="site-pair" />
-                               <xml-property name="container" value="classes-of-service" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VpnBindings">
-                       <xml-root-element name="vpn-bindings" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.openecomp.org.v9.VpnBinding" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VpnBinding">
-                       <xml-root-element name="vpn-binding" />
-                       <java-attributes>
-                               <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="VPN ID, globally unique within A&amp;AI" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="VPN Name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Number used to identify a VPN, globally unique in the network" />
-                                               <xml-property name="dataLink" value="./route-targets/route-target/{global-route-target}/{route-target-role}" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the vpn, should be taken from enumerated/valid values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeTargetRole" name="route-target-role" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role assigned to this route target" />
-                                               <xml-property name="dataLink" value="./route-targets/route-target/{global-route-target}/{route-target-role}" />
-                                               <xml-property name="defaultValue" value="BOTH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList">
-                                       <xml-properties>
-                                               <xml-property name="description" value="l3-networks relate to vpn-bindings" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="VPN binding" />
-                               <xml-property name="nameProps" value="vpn-name,vpn-type" />
-                               <xml-property name="indexedProps" value="vpn-name,vpn-id,global-route-target,vpn-type" />
-                               <xml-property name="searchable" value="vpn-id,vpn-name" />
-                               <xml-property name="uniqueProps" value="vpn-id" />
-                               <xml-property name="container" value="vpn-bindings" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VplsPes">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of VPLS Provider Edge routers" />
-                       </xml-properties>
-                       <xml-root-element name="vpls-pes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.openecomp.org.v9.VplsPe" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VplsPe">
-                       <xml-root-element name="vpls-pe" />
-                       <java-attributes>
-                               <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Temporary location for stag to get to VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v9.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="VPLS Provider Edge routers." />
-                               <xml-property name="indexedProps" value="prov-status,equipment-name" />
-                               <xml-property name="container" value="vpls-pes" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="MulticastConfigurations">
-                       <xml-properties>
-                               <xml-property name="description" value="multicast configuration of generic-vnf ip-address" />
-                       </xml-properties>
-                       <xml-root-element name="multicast-configurations" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.openecomp.org.v9.MulticastConfiguration" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="MulticastConfiguration">
-                       <xml-root-element name="multicast-configuration" />
-                       <java-attributes>
-                               <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of multicast configuration." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="protocol of multicast configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="rp type of multicast configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="multicast-configuration-id" />
-                               <xml-property name="uniqueProps" value="multicast-configuration-id" />
-                               <xml-property name="container" value="multicast-configurations" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vces">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma.  This object is deprecated." />
-                       </xml-properties>
-                       <xml-root-element name="vces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.openecomp.org.v9.Vce" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vce">
-                       <xml-root-element name="vce" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                               <xml-property name="dbAlias" value="operational-status" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network role being played by this VNF" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of VPE connected to this VCE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router.  Implied length of /64." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  see child relationships" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.openecomp.org.v9.PortGroups" />
-                               <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v9.Licenses" />
-                               <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v9.Entitlements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma.  This object is deprecated." />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id" />
-                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="vces" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PortGroups">
-                       <xml-root-element name="port-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.openecomp.org.v9.PortGroup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PortGroup">
-                       <xml-root-element name="port-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of the interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network name of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID for port group in vmware" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Likely to duplicate value of neutron network name" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.openecomp.org.v9.CvlanTags" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Used to capture the network interfaces of this VCE" />
-                               <xml-property name="nameProps" value="port-group-name" />
-                               <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name" />
-                               <xml-property name="dependentOn" value="vce" />
-                               <xml-property name="container" value="port-groups" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="CvlanTags">
-                       <xml-root-element name="cvlan-tags" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.openecomp.org.v9.CvlanTagEntry" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CvlanTagEntry">
-                       <xml-root-element name="cvlan-tag-entry" />
-                       <java-attributes>
-                               <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="See mis-na-virtualization-platform.yang" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="dependentOn" value="port-group" />
-                               <xml-property name="indexedProps" value="cvlan-tag" />
-                               <xml-property name="container" value="cvlan-tags" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vpes">
-                       <xml-properties>
-                               <xml-property name="description" value="Virtual provider edge router. In 1504, A&amp;AI will populate this object through an M&amp;P and tool provided to operations." />
-                       </xml-properties>
-                       <xml-root-element name="vpes" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vpe" name="vpe" type="inventory.aai.openecomp.org.v9.Vpe" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vpe">
-                       <xml-root-element name="vpe" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service.  Does not map strictly to ASDC services.  SOON TO BE DEPRECATED" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                               <xml-property name="dbAlias" value="operational-status" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use.  See child relationships." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prefix length for oam-address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Gateway address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="v4Loopback0IpAddress" name="v4-loopback0-ip-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Temporary location for stag to get to VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="as-number of the VPE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="details regarding the vpe operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether vpe access uses SSH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
-                               <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v9.Licenses" />
-                               <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v9.Entitlements" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Relationship-list must include related to info for complex." />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,regional-resource-zone,prov-status,service-id" />
-                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="vpes" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Vnfcs">
-                       <xml-properties>
-                               <xml-property name="description" value="virtual network components associated with a vserver from application controller." />
-                       </xml-properties>
-                       <xml-root-element name="vnfcs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.openecomp.org.v9.Vnfc" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Vnfc">
-                       <xml-root-element name="vnfc" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of vnfc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfcFunctionCode" name="vnfc-function-code" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="function code" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfcType" name="vnfc-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="type" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="prov status of this vnfc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Oam V4 vip address of this vnfc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group notation of VNFC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation" />
-                               <xml-property name="searchable" value="vnfc-name" />
-                               <xml-property name="container" value="vnfcs" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="L3Networks">
-                       <xml-root-element name="l3-networks" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.openecomp.org.v9.L3Network" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="L3Network">
-                       <xml-root-element name="l3-network" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the network, governed by some naming convention.." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the network - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Role the network plans - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network technology - who defines these values?" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron network id of this Interface" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isBoundToVpn" name="is-bound-to-vpn" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Set to true if bound to VPN" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service from ASDC.  Does not strictly map to ASDC services.  SOON TO BE DEPRECATED" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="network role instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contrail FQDN for the network" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                               <xml-property name="dbAlias" value="model-customization-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name associated with the physical network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is a provider network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is a shared network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="boolean indicatating whether or not network is an external network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.openecomp.org.v9.Subnets" />
-                               <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.openecomp.org.v9.CtagAssignments" />
-                               <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.openecomp.org.v9.SegmentationAssignments" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" >
-                                       <xml-properties>
-                                               <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding" />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Generic network definition" />
-                               <xml-property name="nameProps" value="network-name" />
-                               <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-network-fqdn,network-role" />
-                               <xml-property name="searchable" value="network-id,network-name" />
-                               <xml-property name="uniqueProps" value="network-id" />
-                               <xml-property name="container" value="l3-networks" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="NetworkPolicies">
-                       <xml-root-element name="network-policies" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.openecomp.org.v9.NetworkPolicy" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="NetworkPolicy">
-                       <xml-root-element name="network-policy" />
-                       <java-attributes>
-                               <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID representing unique key to this instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contrail FQDN for the policy" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID for the openStack Heat instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="nameProps" value="network-policy-fqdn" />
-                               <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn" />
-                               <xml-property name="searchable" value="network-policy-id,network-policy-fqdn" />
-                               <xml-property name="uniqueProps" value="network-policy-id" />
-                               <xml-property name="container" value="network-policies" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               <java-type name="CtagAssignments">
-                       <xml-root-element name="ctag-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.openecomp.org.v9.CtagAssignment" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="CtagAssignment">
-                       <xml-root-element name="ctag-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="id." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="vlan-id-inner" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="ctag-assignments" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Subnets">
-                       <xml-root-element name="subnets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.openecomp.org.v9.Subnet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Subnet">
-                       <xml-root-element name="subnet" />
-                       <java-attributes>
-                               <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Subnet ID, should be UUID." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name associated with the subnet." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Neutron id of this subnet" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="gateway ip address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="network start address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="cidr mask" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ip version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="dhcpEnabled" name="dhcp-enabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="dhcp enabled" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the start address reserved for use by dhcp" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the last address reserved for use by dhcp" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="indexedProps" value="subnet-id,subnet-name" />
-                               <xml-property name="nameProps" value="subnet-name" />
-                               <xml-property name="uniqueProps" value="subnet-id" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="subnets" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="GenericVnfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of VNFs" />
-                       </xml-properties>
-                       <xml-root-element name="generic-vnfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.openecomp.org.v9.GenericVnf" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="GenericVnf">
-                       <xml-root-element name="generic-vnf" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier of service, does not necessarily map to ASDC service models.  SOON TO BE DEPRECATED" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational.  Valid values are in-service-path and out-of-service-path." />
-                                               <xml-property name="dbAlias" value="operational-status" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, used by MSO." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of managed by company or customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 Loopback address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 management address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
-                                       <xml-properties>
-                                               <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only in some usecases" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether generic-vnf access uses SSH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                               <xml-property name="dbAlias" value="model-customization-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="as-number of the VNF" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="represents sub zone of the rr plane" />
-                                       </xml-properties>
-                               </xml-element>  
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>                          
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
-                               <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.openecomp.org.v9.VfModules" />
-                               <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v9.Licenses" />
-                               <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v9.Entitlements" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="General purpose VNF" />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version" />
-                               <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="container" value="generic-vnfs" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="extends" value="vnf" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VfModules">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs" />
-                       </xml-properties>
-                       <xml-root-element name="vf-modules" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.openecomp.org.v9.VfModule" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VfModule">
-                       <xml-root-element name="vf-module" />
-                       <java-attributes>
-                               <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of vf-module." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of vf-module" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="isBaseVfModule" name="is-base-vf-module" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="used to indicate whether or not this object is base vf module" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                               <xml-property name="dbAlias" value="model-customization-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the Contrail unique ID for a service-instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="moduleIndex" name="module-index" type="java.lang.Integer">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Path to the controller object." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="a deployment unit of VNFCs" />
-                               <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-service-instance-fqdn" />
-                               <xml-property name="searchable" value="vf-module-id,vf-module-name" />
-                               <xml-property name="dependentOn" value="generic-vnf" />
-                               <xml-property name="container" value="vf-modules" />
-                       </xml-properties>
-               </java-type>
-
-
-               <java-type name="LagLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of link aggregation connections" />
-                       </xml-properties>
-                       <xml-root-element name="lag-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.openecomp.org.v9.LagLink" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="LagLink">
-                       <xml-root-element name="lag-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alphabetical concatenation of lag-interface names" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="LAG links can connect lag-interfaces" />
-                               <xml-property name="indexedProps" value="link-name" />
-                               <xml-property name="container" value="lag-links" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Newvces">
-                       <xml-properties>
-                               <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
-                       </xml-properties>
-                       <xml-root-element name="newvces" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.openecomp.org.v9.Newvce" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Newvce">
-                       <xml-root-element name="newvce" />
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Alternate name of VNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicator for whether the resource is considered operational" />
-                                               <xml-property name="dbAlias" value="operational-status" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="OBSOLETE -  do not use" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Client should send valid enumerated value, e.g., VPE." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 Loopback0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
-                               <xml-property name="nameProps" value="vnf-name" />
-                               <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2" />
-                               <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2" />
-                               <xml-property name="uniqueProps" value="vnf-id2" />
-                               <xml-property name="container" value="newvces" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pnfs">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of Physical Network Functions." />
-                       </xml-properties>
-                       <xml-root-element name="pnfs" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.openecomp.org.v9.Pnf" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="Pnf">
-                       <xml-root-element name="pnf" />
-                       <java-attributes>
-                               <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="unique name of Physical Network Function." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="name of Physical Network Function." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="source of name2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="id of pnf" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="identifier of managed by company or customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
-                                       <xml-properties>
-                                               <xml-property name="defaultValue" value="false"/>
-                                               <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Serial number of the device" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 Loopback 0 address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV4 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 AIM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="IPV6 OAM address" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Nf Role is the role performed by this instance in the network." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v9.PInterfaces" />
-                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world." />
-                               <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status" />
-                               <xml-property name="searchable" value="pnf-name" />
-                               <xml-property name="uniqueProps" value="pnf-name" />
-                               <xml-property name="container" value="pnfs" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PhysicalLinks">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
-                       </xml-properties>
-                       <xml-root-element name="physical-links" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.openecomp.org.v9.PhysicalLink" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="maximumDepth" value="0" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="PhysicalLink">
-                       <xml-root-element name="physical-link" />
-                       <java-attributes>
-                               <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the numeric part of the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Captures the units corresponding to the speed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Circuit it" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Dual access mode (e.g., primary, secondary" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the service Provider on this link." />
-                                       </xml-properties>
-                               </xml-element>                                  
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
-                               <xml-property name="indexedProps" value="circuit-id,link-name" />
-                               <xml-property name="alternateKeys1" value="circuit-id" />
-                               <xml-property name="container" value="physical-links" />
-                               <xml-property name="namespace" value="network" />
-                               <xml-property name="searchable" value="link-name,circuit-id" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="VigServers">
-                       <xml-root-element name="vig-servers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.openecomp.org.v9.VigServer" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="VigServer">
-                       <xml-root-element name="vig-server" />
-                       <java-attributes>
-                               <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String" >
-                                       <xml-properties>
-                                               <xml-property name="description" value="v4 IP of the vig server" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String" >
-                                       <xml-properties>
-                                               <xml-property name="description" value="v6 IP of the vig server" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607" />
-                               <xml-property name="indexedProps" value="vig-address-type" />
-                               <xml-property name="dependentOn" value="ipsec-configuration" />
-                               <xml-property name="container" value="vig-servers" />
-                       </xml-properties>
-               </java-type>
-
-               <java-type name="IpsecConfigurations">
-                       <xml-root-element name="ipsec-configurations" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.openecomp.org.v9.IpsecConfiguration" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="IpsecConfiguration">
-                       <xml-root-element name="ipsec-configuration" />
-                       <java-attributes>
-                               <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="UUID of this configuration" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="can offer a shared DMZ or a DMZ specific to a customer" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Network address of shared DMZ" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="can be 1 or 2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc,ƂĀ aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="pre-shared key for the above group name " />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Lifetime for IKEv1 SA" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="md5, sha1, sha256, sha384" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc,ƂĀ aes-192-cbc, aes-265-cbc" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Life time for IPSec SA" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="enable PFS or not" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="user ID for xAuth, sm-user, nmteHostName" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The time between DPD probe" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                               <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.openecomp.org.v9.VigServers" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C" />
-                               <xml-property name="indexedProps" value="ipsec-configuration-id" />
-                               <xml-property name="uniqueProps" value="ipsec-configuration-id" />
-                               <xml-property name="container" value="ipsec-configurations" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-
-
-               <java-type name="NotificationEvent">
-                       <xml-root-element name="notification-event" />
-                       <java-attributes>
-                               <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String" />
-                               <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.openecomp.org.v9.NotificationEventHeader" />
-                               <xml-any-element java-attribute="entity" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="NotificationEventHeader">
-                       <xml-root-element name="notification-event-header" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" type="java.lang.String" />
-                               <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String" />
-                               <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String" />
-                               <xml-element java-attribute="domain" name="domain" type="java.lang.String" />
-                               <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String" />
-                               <xml-element java-attribute="severity" name="severity" type="java.lang.String" />
-                               <xml-element java-attribute="eventType" name="event-type" type="java.lang.String" />
-                               <xml-element java-attribute="version" name="version" type="java.lang.String" />
-                               <xml-element java-attribute="action" name="action" type="java.lang.String" />
-                               <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String" />
-                               <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String" />
-                               <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String" />
-                               <xml-element java-attribute="status" name="status" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="AaiInternal">
-                       <xml-root-element name="aai-internal" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.openecomp.org.v9.ReservedPropNames" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.openecomp.org.v9.EdgePropNames" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="ReservedPropNames">
-                       <xml-properties>
-                               <xml-property name="description" value="Internal map to define some reserved properties of a vertex" />
-                               <xml-property name="uniqueProps" value="aai-unique-key" />
-                               <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri" />
-                       </xml-properties>
-                       <xml-root-element name="reserved-prop-names" />
-                       <java-attributes>
-                               <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String" />
-                               <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String" />
-                               <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long" />
-                               <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String" />
-                               <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long" />
-                               <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String" />
-                               <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-               <java-type name="EdgePropNames">
-                       <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
-                       <xml-properties>
-                               <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules" />
-                               <xml-property name="edgeInfo" value="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV" />
-                       </xml-properties>
-                       <xml-root-element name="edge-prop-names" />
-                       <java-attributes>
-                               <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String" />
-                               <xml-element java-attribute="direction" name="direction" type="java.lang.String" />
-                               <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String" />
-                               <xml-element java-attribute="isParent" name="isParent" type="java.lang.Boolean" />
-                               <xml-element java-attribute="usesResource" name="usesResource" type="java.lang.Boolean" />
-                               <xml-element java-attribute="hasDelTarget" name="hasDelTarget" type="java.lang.Boolean" />
-                               <xml-element java-attribute="SVC-INFRA" name="SVC-INFRA" type="java.lang.Boolean" />
-                               <xml-element java-attribute="SVC-INFRA-REV" name="SVC-INFRA-REV" type="java.lang.Boolean" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Models">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models" />
-                       </xml-properties>
-                       <xml-root-element name="models" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.openecomp.org.v9.Model" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Model">
-                       <xml-root-element name="model" />
-                       <xml-properties>
-                               <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version" />
-                               <xml-property name="nameProps" value="model-type" />
-                               <xml-property name="indexedProps" value="model-invariant-id,model-type" />
-                               <xml-property name="uniqueProps" value="model-invariant-id" />
-                               <xml-property name="container" value="models" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-                       <java-attributes>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v9.ModelVers" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-
-               <java-type name="ModelVers">
-                       <xml-root-element name="model-vers" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.openecomp.org.v9.ModelVer" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="ModelVer">
-                       <xml-root-element name="model-ver" />
-                       <xml-properties>
-                               <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models" />
-                               <xml-property name="nameProps" value="model-name" />
-                               <xml-property name="indexedProps" value="model-version-id,model-name,model-version" />
-                               <xml-property name="uniqueProps" value="model-version-id" />
-                               <xml-property name="container" value="model-vers" />
-                       </xml-properties>
-                       <java-attributes>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the model, which can change from version to version." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v9.ModelElements" />
-                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v9.Metadata" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelElements">
-                       <xml-root-element name="model-elements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.openecomp.org.v9.ModelElement" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelElement">
-                       <xml-properties>
-                               <xml-property name="description" value="Defines how other models combine to make up a higher-level model." />
-                               <xml-property name="uniqueProps" value="model-element-uuid" />
-                               <xml-property name="indexedProps" value="model-element-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="model-elements" />
-                       </xml-properties>
-                       <xml-root-element name="model-element" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="How many of this type of element are required/allowed" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String" >
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v9.ModelElements">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Defines how other models combine to make up a higher-level model" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.openecomp.org.v9.ModelConstraints">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelConstraints">
-                       <xml-root-element name="model-constraints" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.openecomp.org.v9.ModelConstraint" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelConstraint">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="model-constraint-uuid" />
-                               <xml-property name="indexedProps" value="model-constraint-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="model-constraints" />
-                       </xml-properties>
-                       <xml-root-element name="model-constraint" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.openecomp.org.v9.ConstrainedElementSets" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ConstrainedElementSets">
-                       <xml-root-element name="constrained-element-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.openecomp.org.v9.ConstrainedElementSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ConstrainedElementSet">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="constrained-element-set-uuid" />
-                               <xml-property name="indexedProps" value="constrained-element-set-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="constrained-element-sets" />
-                       </xml-properties>
-                       <xml-root-element name="constrained-element-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.openecomp.org.v9.ElementChoiceSets" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ElementChoiceSets">
-                       <xml-root-element name="element-choice-sets" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.openecomp.org.v9.ElementChoiceSet" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ElementChoiceSet">
-                       <xml-properties>
-                               <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
-                               <xml-property name="uniqueProps" value="element-choice-set-uuid" />
-                               <xml-property name="indexedProps" value="element-choice-set-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="element-choice-sets" />
-                       </xml-properties>
-                       <xml-root-element name="element-choice-set" />
-                       <java-attributes>
-                               <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v9.ModelElements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueries">
-                       <xml-root-element name="named-queries" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v9.NamedQuery" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQuery">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="nameProps" value="named-query-name" />
-                               <xml-property name="uniqueProps" value="named-query-uuid" />
-                               <xml-property name="indexedProps" value="named-query-uuid,named-query-name" />
-                               <xml-property name="container" value="named-queries" />
-                               <xml-property name="namespace" value="service-design-and-creation" />
-                       </xml-properties>
-                       <xml-root-element name="named-query" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true" />
-                               <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String" >
-                                       <xml-element-wrapper name="required-input-params" />
-                               </xml-element>
-                               <xml-element java-attribute="description" name="description" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v9.NamedQueryElements" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueryElements">
-                       <xml-root-element name="named-query-elements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.openecomp.org.v9.NamedQueryElement" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="NamedQueryElement">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="named-query-element-uuid" />
-                               <xml-property name="indexedProps" value="named-query-element-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="named-query-elements" />
-                       </xml-properties>
-                       <xml-root-element name="named-query-element" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String" />
-                               <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String" />
-                               <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v9.NamedQueryElements" />
-                               <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.openecomp.org.v9.RelatedLookups" />
-                               <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.openecomp.org.v9.PropertyConstraints" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedLookups">
-                       <xml-root-element name="related-lookups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.openecomp.org.v9.RelatedLookup" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="RelatedLookup">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="related-lookup-uuid" />
-                               <xml-property name="indexedProps" value="related-lookup-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="related-lookups" />
-                       </xml-properties>
-                       <xml-root-element name="related-lookup" />
-                       <java-attributes>
-                               <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String" />
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PropertyConstraints">
-                       <xml-root-element name="property-constraints" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.openecomp.org.v9.PropertyConstraint" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="PropertyConstraint">
-                       <xml-properties>
-                               <xml-property name="description" value="TBD" />
-                               <xml-property name="uniqueProps" value="property-constraint-uuid" />
-                               <xml-property name="indexedProps" value="property-constraint-uuid" />
-                               <xml-property name="allowDirectRead" value="true" />
-                               <xml-property name="allowDirectWrite" value="false" />
-                               <xml-property name="container" value="property-constraints" />
-                       </xml-properties>
-                       <xml-root-element name="property-constraint" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="autoGenerateUuid" value="true" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="propertyName" name="property-name" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" required="true" type="java.lang.String" />
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ModelAndNamedQuerySearch">
-                       <xml-properties>
-                               <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="model-and-named-query-search" />
-                       <java-attributes>
-                               <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.openecomp.org.v9.QueryParameters" />
-                               <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.openecomp.org.v9.InstanceFilters" />
-                               <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.openecomp.org.v9.SecondaryFilts" />
-                               <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String" />
-                               <xml-element java-attribute="secondaryFilterCutPoint" name="secondary-filter-cut-point" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="QueryParameters">
-                       <xml-properties>
-                               <xml-property name="description" value="QueryParameters for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="query-parameters" />
-                       <java-attributes>
-                               <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v9.NamedQuery" />
-                               <xml-element java-attribute="model" name="model" type="inventory.aai.openecomp.org.v9.OverloadedModel" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="OverloadedModel">
-                       <xml-root-element name="overloaded-model" />
-                       <xml-properties>
-                               <xml-property name="description" value="Allows for legacy POST of old-style and new-style models" />
-                       </xml-properties>
-                       <java-attributes>
-                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Name of the model, which can change from version to version." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Invariant unique ID which does not change from version to version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Version" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Description" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v9.ModelVers" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InstanceFilters">
-                       <xml-properties>
-                               <xml-property name="description" value="InstanceFilters for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="instance-filters" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.openecomp.org.v9.InstanceFilter" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InstanceFilter">
-                       <xml-properties>
-                               <xml-property name="description" value="InstanceFilter for performing a named-query or model query" />
-                               <xml-property name="container" value="instance-filters" />
-                       </xml-properties>
-                       <xml-root-element name="instance-filter" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="SecondaryFilts">
-                       <xml-properties>
-                               <xml-property name="description" value="SecondaryFilts for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="secondary-filts" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilt" name="secondary-filt" type="inventory.aai.openecomp.org.v9.SecondaryFilt" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="SecondaryFilt">
-                       <xml-properties>
-                               <xml-property name="description" value="SecondaryFilt for performing a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="secondary-filt" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Properties">
-                       <xml-properties>
-                               <xml-property name="description" value="Property holder for query properties or instance properties" />
-                       </xml-properties>
-                       <xml-root-element name="properties" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ResponseList">
-                       <xml-properties>
-                               <xml-property name="description" value="Response container for the results of a named-query or model query" />
-                       </xml-properties>
-                       <xml-root-element name="response-list" />
-                       <java-attributes>
-                               <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v9.InventoryResponseItems" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryResponseItems">
-                       <xml-properties>
-                               <xml-property name="description" value="Container for inventory items in response list" />
-                               <xml-property name="container" value="response-list" />
-                       </xml-properties>
-                       <xml-root-element name="inventory-response-items" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.openecomp.org.v9.InventoryResponseItem" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="InventoryResponseItem">
-                       <xml-properties>
-                               <xml-property name="description" value="Inventory item for response list" />
-                               <xml-property name="container" value="inventory-response-items" />
-                       </xml-properties>
-                       <xml-root-element name="inventory-response-item" />
-                       <java-attributes>
-                               <xml-element java-attribute="modelName" name="model-name" type="java.lang.String" />
-                               <xml-any-element java-attribute="item" />
-                               <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.openecomp.org.v9.ExtraProperties" />
-                               <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v9.InventoryResponseItems" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ExtraProperties">
-                       <xml-properties>
-                               <xml-property name="description" value="Extra properties for inventory item for response list" />
-                       </xml-properties>
-                       <xml-root-element name="extra-properties" />
-                       <java-attributes>
-                               <xml-any-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.openecomp.org.v9.ExtraProperty" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="ExtraProperty">
-                       <xml-root-element name="extra-property" />
-                       <java-attributes>
-                               <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
-                               <xml-any-element java-attribute="propertyValue" lax="true" name="property-value" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="RouteTableReferences">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack route table references" />
-                       </xml-properties>
-                       <xml-root-element name="route-table-references" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.openecomp.org.v9.RouteTableReference" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="RouteTableReference">
-                       <xml-root-element name="route-table-reference" />
-                       <java-attributes>
-                               <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="FQDN entry in the route table." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack route table reference." />
-                               <xml-property name="nameProps" value="route-table-reference-fqdn" />
-                               <xml-property name="uniqueProps" value="route-table-reference-id" />
-                               <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn" />
-                               <xml-property name="container" value="route-table-references" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="InstanceGroups">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack route table references" />
-                       </xml-properties>
-                       <xml-root-element name="instance-groups" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="instanceGroup" name="instance-group" type="inventory.aai.openecomp.org.v9.InstanceGroup" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="InstanceGroup">
-                       <xml-root-element name="instance-group" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Instance Group ID, UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="description" name="description" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Descriptive text to help identify the usage of this instance-group" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="type" name="type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Only valid value today is lower case ha for high availability" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="subType" name="sub-type"  type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="General mechanism for grouping instances" />
-                               <xml-property name="nameProps" value="description" />
-                               <xml-property name="uniqueProps" value="id" />
-                               <xml-property name="indexedProps" value="id,description,type,sub-type" />
-                               <xml-property name="container" value="instance-groups" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               
-
-               <java-type name="SegmentationAssignments">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of openstack segmentation assignments" />
-                       </xml-properties>
-                       <xml-root-element name="segmentation-assignments" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.openecomp.org.v9.SegmentationAssignment" />
-                       </java-attributes>
-               </java-type>
-                               
-               <java-type name="SegmentationAssignment">
-                       <xml-root-element name="segmentation-assignment" />
-                       <java-attributes>
-                               <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Openstack segmentation assignment." />
-                               <xml-property name="indexedProps" value="segmentation-id" />
-                               <xml-property name="dependentOn" value="l3-network" />
-                               <xml-property name="container" value="segmentation-assignments" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="AllottedResources">
-                       <xml-properties>
-                               <xml-property name="description" value="This object is used to store slices of services being offered" />
-                       </xml-properties>
-                       <xml-root-element name="allotted-resources" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="allottedResource" name="allotted-resource" type="inventory.aai.openecomp.org.v9.AllottedResource" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="AllottedResource">
-                       <xml-root-element name="allotted-resource" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="description" name="description" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The descriptive information assigned to this allotted resource instance" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Link back to more information in the controller" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model id for this resource or service model." />
-                                               <xml-property name="dbAlias" value="model-invariant-id-local" />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="deployment" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="the ASDC model version for this resource or service model." />
-                                               <xml-property name="visibility" value="internal" />
-                                               <xml-property name="dbAlias" value="model-version-id-local" />
-                                               <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
-                                               <xml-property name="dbAlias" value="model-customization-id" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.openecomp.org.v9.TunnelXconnects" />
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="Represents a slice or partial piece of a resource that gets separately allotted" />
-                               <xml-property name="nameProps" value="description" />
-                               <xml-property name="uniqueProps" value="id" />
-                               <xml-property name="indexedProps" value="id,persona-model-id,persona-model-version" />
-                               <xml-property name="dependentOn" value="service-instance" />
-                               <xml-property name="container" value="allotted-resources" />
-                               <!--  <xml-property name="namespace" value="network" /> -->
-                       </xml-properties>
-               </java-type>    
-               
-               <java-type name="TunnelXconnects">
-                       <xml-properties>
-                               <xml-property name="description" value="This object is used to store the specific tunnel cross connect aspects of an allotted resource" />
-                       </xml-properties>
-                       <xml-root-element name="tunnel-xconnects" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="tunnelXconnect" name="tunnel-xconnect" type="inventory.aai.openecomp.org.v9.TunnelXconnect" />
-                       </java-attributes>
-               </java-type>
-               
-               <java-type name="TunnelXconnect">
-                       <xml-root-element name="tunnel-xconnect" />
-                       <java-attributes>
-                               <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN uplink bandwidth for WAN1" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN downlink bandwidth for WAN1" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN uplink bandwidth for WAN2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="The WAN downlink bandwidth for WAN2" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       
-                       <xml-properties>
-                               <xml-property name="description" value="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted" />
-                               <xml-property name="uniqueProps" value="id" />
-                               <xml-property name="indexedProps" value="id" />
-                               <xml-property name="dependentOn" value="allotted-resource" />
-                               <xml-property name="container" value="tunnel-xconnects" />
-                               <!--  <xml-property name="namespace" value="network" /> -->
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Entitlements">
-                       <xml-properties>
-                               <xml-property name="description" value="Entitlements, keyed by group-uuid and resource-uuid, related to license management" />
-                       </xml-properties>
-                       <xml-root-element name="entitlements" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="entitlement" name="entitlement" type="inventory.aai.openecomp.org.v9.Entitlement" />
-                       </java-attributes>
-               </java-type>
-                               
-               <java-type name="Entitlement">
-                       <xml-root-element name="entitlement" />
-                       <java-attributes>
-                               <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID for the entitlement group the resource comes from, should be uuid." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of an entitlement resource. " />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Metadata for entitlement group." />
-                               <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
-                               <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
-                               <xml-property name="container" value="entitlements" />
-                       </xml-properties>
-               </java-type>
-               
-               
-               <java-type name="Licenses">
-                       <xml-properties>
-                               <xml-property name="description" value="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management" />
-                       </xml-properties>
-                       <xml-root-element name="licenses" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="license" name="license" type="inventory.aai.openecomp.org.v9.License" />
-                       </java-attributes>
-               </java-type>
-                               
-               <java-type name="License">
-                       <xml-root-element name="license" />
-                       <java-attributes>
-                               <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID for the license group the resource belongs to, should be uuid." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique ID of a license resource. " />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Metadata for license group." />
-                               <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
-                               <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
-                               <xml-property name="container" value="licenses" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Vnf">
-                       <xml-root-element name="vnf"/>
-                       <java-attributes>
-                               <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
-                                       </xml-properties>
-                               </xml-element>
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="Abstract vnf class" />
-                               <xml-property name="indexedProps" value="vnf-id" />
-                               <xml-property name="uniqueProps" value="vnf-id" />
-                               <xml-property name="inheritors" value="vce,vpe,generic-vnf" />
-                               <xml-property name="abstract" value="true" />
-                       </xml-properties>
-               </java-type>
-               
-               <java-type name="Zones">
-                       <xml-properties>
-                               <xml-property name="description" value="Collection of zones" />
-                       </xml-properties>
-                       <xml-root-element name="zones" />
-                       <java-attributes>
-                               <xml-element container-type="java.util.ArrayList" java-attribute="zone" name="zone" type="inventory.aai.openecomp.org.v9.Zone" />
-                       </java-attributes>
-               </java-type>
-
-               <java-type name="Zone">
-                       <xml-root-element name="zone" />
-                       <java-attributes>
-                               <xml-element java-attribute="zoneId" name="zone-id" required="true" type="java.lang.String" xml-key="true">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Code assigned by AIC to the zone" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="zoneName" name="zone-name" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="English name associated with the zone" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Design of zone [Medium/Largeā€¦]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="zoneContext" name="zone-context" required="true" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Context of zone [production/test]" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="status" name="status" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Status of a zone." />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
-                                       <xml-properties>
-                                               <xml-property name="description" value="Concurrency value" />
-                                       </xml-properties>
-                               </xml-element>
-                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
-                       </java-attributes>
-                       <xml-properties>
-                               <xml-property name="description" value="A zone is a grouping of assets in a location homing to the same connections into the CBB" />
-                               <xml-property name="nameProps" value="zone-name" />
-                               <xml-property name="indexedProps" value="zone-id,design-type,zone-context" />
-                               <xml-property name="uniqueProps" value="zone-id" />
-                               <xml-property name="container" value="zones" />
-                               <xml-property name="namespace" value="network" />
-                       </xml-properties>
-               </java-type>
-               
-       </java-types>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceInstances" name="service-instances" type="inventory.aai.openecomp.org.v9.ServiceInstances">
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Object that group service instances." />
+                <xml-property name="indexedProps" value="service-type" />
+                <xml-property name="dependentOn" value="customer" />
+                <xml-property name="container" value="service-subscriptions" />
+                <xml-property name="crossEntityReference" value="service-instance,service-type" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="ServiceInstances">
+            <xml-properties>
+                <xml-property name="description" value="Collection of service instances" />
+            </xml-properties>
+            <xml-root-element name="service-instances" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="serviceInstance" name="service-instance" type="inventory.aai.openecomp.org.v9.ServiceInstance" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ServiceInstance">
+            <xml-root-element name="service-instance" />
+            <java-attributes>
+                <xml-element java-attribute="serviceInstanceId" name="service-instance-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Uniquely identifies this instance of a service" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceInstanceName" name="service-instance-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field will store a name assigned to the service-instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                        <xml-property name="dbAlias" value="model-invariant-id-local" />
+                        <xml-property name="requires" value="persona-model-version" />
+                        <xml-property name="visibility" value="deployment" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="persona-model-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="internal" />
+                        <xml-property name="dbAlias" value="model-version-id-local" />
+                        <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthTotal" name="bandwidth-total" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicates the total bandwidth to be used for this service." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN1 port of the physical device." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN1 port of the physical device." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="indicates the upstream bandwidth this service will use on the WAN2 port of the physical device." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="indicates the downstream bandwidth this service will use on the WAN2 port of the physical device." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vhnPortalUrl" name="vhn-portal-url" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL customers will use to access the vHN Portal." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceInstanceLocationId" name="service-instance-location-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="An identifier that customers assign to the location where this service is being used." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Path to the controller object." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this service." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v9.Metadata" />
+                <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.openecomp.org.v9.AllottedResources" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Instance of a service" />
+                <xml-property name="indexedProps" value="service-instance-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status" />
+                <xml-property name="nameProps" value="service-instance-name" />
+                <xml-property name="searchable" value="service-instance-id,service-instance-name" />
+                <xml-property name="uniqueProps" value="service-instance-id" />
+                <xml-property name="dependentOn" value="service-subscription" />
+                <xml-property name="container" value="service-instances" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="ServiceDesignAndCreation">
+            <xml-properties>
+                <xml-property name="description" value="Namespace for objects managed by ASDC" />
+            </xml-properties>
+            <xml-root-element name="service-design-and-creation" />
+            <java-attributes>
+                <xml-element java-attribute="vnfImages" name="vnf-images" type="inventory.aai.openecomp.org.v9.VnfImages" />
+                <xml-element java-attribute="services" name="services" type="inventory.aai.openecomp.org.v9.Services" />
+                <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.openecomp.org.v9.ServiceCapabilities" />
+                <xml-element java-attribute="models" name="models" type="inventory.aai.openecomp.org.v9.Models" />
+                <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.openecomp.org.v9.NamedQueries" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VnfImages">
+            <xml-properties>
+                <xml-property name="description" value="Collection of image objects that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
+            </xml-properties>
+            <xml-root-element name="vnf-images" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vnfImage" name="vnf-image" type="inventory.aai.openecomp.org.v9.VnfImage" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VnfImage">
+            <xml-root-element name="vnf-image" />
+            <java-attributes>
+                <xml-element java-attribute="vnfImageUuid" name="vnf-image-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of this asset" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="application" name="application" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The application that the image instantiates." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="applicationVendor" name="application-vendor" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The vendor of the application." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="applicationVersion" name="application-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The version of the application." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Image object that pertain to a VNF that doesn't have associated vservers.  This is a kludge." />
+                <xml-property name="indexedProps" value="application,vnf-image-uuid,application-vendor,application-version" />
+                <xml-property name="uniqueProps" value="vnf-image-uuid" />
+                <xml-property name="container" value="vnf-images" />
+                <xml-property name="namespace" value="service-design-and-creation" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Services">
+            <xml-properties>
+                <xml-property name="description" value="Collection of service model definitions.  Likely to be deprecated in favor of models from ASDC." />
+            </xml-properties>
+            <xml-root-element name="services" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="service" name="service" type="inventory.aai.openecomp.org.v9.Service" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Service">
+            <xml-root-element name="service" />
+            <java-attributes>
+                <xml-element java-attribute="serviceId" name="service-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceDescription" name="service-description" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Description of the service" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceSelflink" name="service-selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceVersion" name="service-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="service version" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Stand-in for service model definitions.  Likely to be deprecated in favor of models from ASDC.  Does not strictly map to ASDC services." />
+                <xml-property name="indexedProps" value="service-description,service-id" />
+                <xml-property name="container" value="services" />
+                <xml-property name="namespace" value="service-design-and-creation" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="ServiceCapabilities">
+            <xml-properties>
+                <xml-property name="description" value="Collection of service capabilities." />
+            </xml-properties>
+            <xml-root-element name="service-capabilities" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="serviceCapability" name="service-capability" type="inventory.aai.openecomp.org.v9.ServiceCapability" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ServiceCapability">
+            <xml-root-element name="service-capability" />
+            <java-attributes>
+                <xml-element java-attribute="serviceType" name="service-type" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="This gets defined by others to provide a unique ID for the service, we accept what is sent." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Early definition of server/resource pairings, likely to be replaced by models.  No new use should be made of this." />
+                <xml-property name="indexedProps" value="service-type,vnf-type" />
+                <xml-property name="container" value="service-capabilities" />
+                <xml-property name="namespace" value="service-design-and-creation" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Network">
+            <xml-properties>
+                <xml-property name="description" value="Namespace for network inventory resources." />
+            </xml-properties>
+            <xml-root-element name="network" />
+            <java-attributes>
+                <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.openecomp.org.v9.LogicalLinks" />
+                <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.openecomp.org.v9.SitePairSets" />
+                <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.openecomp.org.v9.VpnBindings" />
+                <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.openecomp.org.v9.VplsPes" />
+                <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.openecomp.org.v9.MulticastConfigurations" />
+                <xml-element java-attribute="vces" name="vces" type="inventory.aai.openecomp.org.v9.Vces" />
+                <xml-element java-attribute="vpes" name="vpes" type="inventory.aai.openecomp.org.v9.Vpes" />
+                <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.openecomp.org.v9.Vnfcs" />
+                <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.openecomp.org.v9.L3Networks" />
+                <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.openecomp.org.v9.NetworkPolicies" />
+                <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.openecomp.org.v9.GenericVnfs" />
+                <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.openecomp.org.v9.LagLinks" />
+                <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.openecomp.org.v9.Newvces" />
+                <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.openecomp.org.v9.Pnfs" />
+                <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.openecomp.org.v9.PhysicalLinks" />
+                <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.openecomp.org.v9.IpsecConfigurations" />
+                <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.openecomp.org.v9.RouteTableReferences" />
+                <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.openecomp.org.v9.InstanceGroups" />
+                <xml-element java-attribute="zones" name="zones" type="inventory.aai.openecomp.org.v9.Zones" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="LogicalLinks">
+            <xml-properties>
+                <xml-property name="description" value="Collection of logical connections" />
+            </xml-properties>
+            <xml-root-element name="logical-links" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="logicalLink" name="logical-link" type="inventory.aai.openecomp.org.v9.LogicalLink" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="LogicalLink">
+            <xml-root-element name="logical-link" />
+            <java-attributes>
+                <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="e.g., evc-name, or vnf-nameA_interface-nameA_vnf-nameZ_interface-nameZ" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="linkType" name="link-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Type of logical link, e.g., evc" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the numeric part of the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the units corresponding to the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="v4, v6, or ds for dual stack" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routingProtocol" name="routing-protocol" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="For example, static or BGP" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                        <xml-property name="dbAlias" value="model-invariant-id-local" />
+                        <xml-property name="requires" value="persona-model-version" />
+                        <xml-property name="visibility" value="deployment" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="persona-model-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="internal" />
+                        <xml-property name="dbAlias" value="model-version-id-local" />
+                        <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indication of operational status of the logical link." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="linkRole" name="link-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indication of the network use of the logical link." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="linkName2" name="link-name2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Alias or alternate name (CLCI or D1 name)." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="linkId" name="link-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of the logical-link, SDNC generates this." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Circuit id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="purpose" name="purpose" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Reason for this entity, role it is playing" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Logical links generally connect l-interfaces but are used to express logical connectivity between two points" />
+                <xml-property name="indexedProps" value="link-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose" />
+                <xml-property name="uniqueProps" value="link-id" />
+                <xml-property name="container" value="logical-links" />
+                <xml-property name="namespace" value="network" />
+                <xml-property name="searchable" value="link-name" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="SitePairSets">
+            <xml-properties>
+                <xml-property name="description" value="Collection of sets of instances for probes related to generic-vnf" />
+            </xml-properties>
+            <xml-root-element name="site-pair-sets" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="sitePairSet" name="site-pair-set" type="inventory.aai.openecomp.org.v9.SitePairSet" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SitePairSet">
+            <xml-root-element name="site-pair-set" />
+            <java-attributes>
+                <xml-element java-attribute="sitePairSetId" name="site-pair-set-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of site pair set." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routingInstances" name="routing-instances" type="inventory.aai.openecomp.org.v9.RoutingInstances" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Set of instances for probes used to measure service level agreements" />
+                <xml-property name="indexedProps" value="site-pair-set-id" />
+                <xml-property name="uniqueProps" value="site-pair-set-id" />
+                <xml-property name="container" value="site-pair-sets" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="RoutingInstances">
+            <xml-properties>
+                <xml-property name="description" value="set of probes related to generic-vnf routing instance" />
+            </xml-properties>
+            <xml-root-element name="routing-instances" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="routingInstance" name="routing-instance" type="inventory.aai.openecomp.org.v9.RoutingInstance" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="RoutingInstance">
+            <xml-root-element name="routing-instance" />
+            <java-attributes>
+                <xml-element java-attribute="routingInstanceId" name="routing-instance-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of routing instance" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="rpmOwner" name="rpm-owner" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="rpm owner" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="sitePairs" name="site-pairs" type="inventory.aai.openecomp.org.v9.SitePairs" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="routing-instance-id" />
+                <xml-property name="uniqueProps" value="routing-instance-id" />
+                <xml-property name="dependentOn" value="site-pair-set" />
+                <xml-property name="container" value="routing-instances" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="SitePairs">
+            <xml-properties>
+                <xml-property name="description" value="probe within a set" />
+            </xml-properties>
+            <xml-root-element name="site-pairs" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="sitePair" name="site-pair" type="inventory.aai.openecomp.org.v9.SitePair" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SitePair">
+            <xml-root-element name="site-pair" />
+            <java-attributes>
+                <xml-element java-attribute="sitePairId" name="site-pair-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="unique identifier of probe" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="sourceIp" name="source-ip" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prefix address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="destinationIp" name="destination-ip" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prefix address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ip version, v4, v6" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="destinationHostname" name="destination-hostname" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Hostname of the destination equipment to which SLAs are measured against." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="destinationEquipType" name="destination-equip-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The type of destinatination equipment. Could be Router, etc." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="classesOfService" name="classes-of-service" type="inventory.aai.openecomp.org.v9.ClassesOfService" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="site-pair-id" />
+                <xml-property name="uniqueProps" value="site-pair-id" />
+                <xml-property name="dependentOn" value="routing-instance" />
+                <xml-property name="container" value="site-pairs" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="ClassesOfService">
+            <xml-properties>
+                <xml-property name="description" value="class-of-service of probe" />
+            </xml-properties>
+            <xml-root-element name="classes-of-service" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="classOfService" name="class-of-service" type="inventory.aai.openecomp.org.v9.ClassOfService" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ClassOfService">
+            <xml-root-element name="class-of-service" />
+            <java-attributes>
+                <xml-element java-attribute="cos" name="cos" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="unique identifier of probe" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="probeId" name="probe-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="identifier of probe" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="probeType" name="probe-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="type of probe" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="cos" />
+                <xml-property name="dependentOn" value="site-pair" />
+                <xml-property name="container" value="classes-of-service" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VpnBindings">
+            <xml-root-element name="vpn-bindings" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vpnBinding" name="vpn-binding" type="inventory.aai.openecomp.org.v9.VpnBinding" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VpnBinding">
+            <xml-root-element name="vpn-binding" />
+            <java-attributes>
+                <xml-element java-attribute="vpnId" name="vpn-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="VPN ID, globally unique within A&amp;AI" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vpnName" name="vpn-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="VPN Name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="globalRouteTarget" name="global-route-target" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Number used to identify a VPN, globally unique in the network" />
+                        <xml-property name="dataLink" value="./route-targets/route-target/{global-route-target}/{route-target-role}" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vpnPlatform" name="vpn-platform" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the platform associated with the VPN example AVPN, Mobility" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Type of the vpn, should be taken from enumerated/valid values" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routeTargetRole" name="route-target-role" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Role assigned to this route target" />
+                        <xml-property name="dataLink" value="./route-targets/route-target/{global-route-target}/{route-target-role}" />
+                        <xml-property name="defaultValue" value="BOTH" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList">
+                    <xml-properties>
+                        <xml-property name="description" value="l3-networks relate to vpn-bindings" />
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="VPN binding" />
+                <xml-property name="nameProps" value="vpn-name,vpn-type" />
+                <xml-property name="indexedProps" value="vpn-name,vpn-id,global-route-target,vpn-type" />
+                <xml-property name="searchable" value="vpn-id,vpn-name" />
+                <xml-property name="uniqueProps" value="vpn-id" />
+                <xml-property name="container" value="vpn-bindings" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VplsPes">
+            <xml-properties>
+                <xml-property name="description" value="Collection of VPLS Provider Edge routers" />
+            </xml-properties>
+            <xml-root-element name="vpls-pes" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vplsPe" name="vpls-pe" type="inventory.aai.openecomp.org.v9.VplsPe" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VplsPe">
+            <xml-root-element name="vpls-pe" />
+            <java-attributes>
+                <xml-element java-attribute="equipmentName" name="equipment-name" required="true" type="java.lang.String" xml-key="true" />
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Client should send valid enumerated value, e.g., VPLS-PE." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Temporary location for stag to get to VCE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v9.PInterfaces" />
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="VPLS Provider Edge routers." />
+                <xml-property name="indexedProps" value="prov-status,equipment-name" />
+                <xml-property name="container" value="vpls-pes" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="MulticastConfigurations">
+            <xml-properties>
+                <xml-property name="description" value="multicast configuration of generic-vnf ip-address" />
+            </xml-properties>
+            <xml-root-element name="multicast-configurations" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="multicastConfiguration" name="multicast-configuration" type="inventory.aai.openecomp.org.v9.MulticastConfiguration" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="MulticastConfiguration">
+            <xml-root-element name="multicast-configuration" />
+            <java-attributes>
+                <xml-element java-attribute="multicastConfigurationId" name="multicast-configuration-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of multicast configuration." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="multicastProtocol" name="multicast-protocol" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="protocol of multicast configuration" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="rpType" name="rp-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="rp type of multicast configuration" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="multicast-configuration-id" />
+                <xml-property name="uniqueProps" value="multicast-configuration-id" />
+                <xml-property name="container" value="multicast-configurations" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Vces">
+            <xml-properties>
+                <xml-property name="description" value="Collection of Virtual Customer Edge Routers, used specifically for Gamma.  This object is deprecated." />
+            </xml-properties>
+            <xml-root-element name="vces" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vce" name="vce" type="inventory.aai.openecomp.org.v9.Vce" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Vce">
+            <xml-root-element name="vce" />
+            <java-attributes>
+                <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of VNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Alternate name of VNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicator for whether the resource is considered operational" />
+                        <xml-property name="dbAlias" value="operational-status" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="OBSOLETE -  do not use" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Network role being played by this VNF" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vpeId" name="vpe-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of VPE connected to this VCE." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="v6VceWanAddress" name="v6-vce-wan-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Valid v6 IP address for the WAN Link on this router.  Implied length of /64." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Address tail-f uses to configure vce, also used for troubleshooting and is IP used for traps generated by VCE." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Loopback0 address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="entitlementResourceUuid" name="entitlement-resource-uuid" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="OBSOLETE -  see child relationships" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="portGroups" name="port-groups" type="inventory.aai.openecomp.org.v9.PortGroups" />
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v9.Licenses" />
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v9.Entitlements" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Virtual Customer Edge Router, used specifically for Gamma.  This object is deprecated." />
+                <xml-property name="nameProps" value="vnf-name" />
+                <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,interface-name,regional-resource-zone,vpe-id,prov-status,service-id" />
+                <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
+                <xml-property name="uniqueProps" value="vnf-id" />
+                <xml-property name="container" value="vces" />
+                <xml-property name="namespace" value="network" />
+                <xml-property name="extends" value="vnf" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="PortGroups">
+            <xml-root-element name="port-groups" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="portGroup" name="port-group" type="inventory.aai.openecomp.org.v9.PortGroup" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="PortGroup">
+            <xml-root-element name="port-group" />
+            <java-attributes>
+                <xml-element java-attribute="interfaceId" name="interface-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of the interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron network id of this Interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronNetworkName" name="neutron-network-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron network name of this Interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interfaceRole" name="interface-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Role assigned to this Interface, should use values as defined in ECOMP Yang models." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="portGroupId" name="port-group-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID for port group in vmware" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="portGroupName" name="port-group-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Likely to duplicate value of neutron network name" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="switchName" name="switch-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="DVS or standard switch name (should be non-null for port groups associated with DVS)" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cvlanTags" name="cvlan-tags" type="inventory.aai.openecomp.org.v9.CvlanTags" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Used to capture the network interfaces of this VCE" />
+                <xml-property name="nameProps" value="port-group-name" />
+                <xml-property name="indexedProps" value="port-group-id,heat-stack-id,interface-id,interface-name,switch-name" />
+                <xml-property name="dependentOn" value="vce" />
+                <xml-property name="container" value="port-groups" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="CvlanTags">
+            <xml-root-element name="cvlan-tags" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="cvlanTagEntry" name="cvlan-tag-entry" type="inventory.aai.openecomp.org.v9.CvlanTagEntry" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="CvlanTagEntry">
+            <xml-root-element name="cvlan-tag-entry" />
+            <java-attributes>
+                <xml-element java-attribute="cvlanTag" name="cvlan-tag" required="true" type="java.lang.Long" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="See mis-na-virtualization-platform.yang" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="dependentOn" value="port-group" />
+                <xml-property name="indexedProps" value="cvlan-tag" />
+                <xml-property name="container" value="cvlan-tags" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Vpes">
+            <xml-properties>
+                <xml-property name="description" value="Virtual provider edge router. In 1504, A&amp;AI will populate this object through an M&amp;P and tool provided to operations." />
+            </xml-properties>
+            <xml-root-element name="vpes" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vpe" name="vpe" type="inventory.aai.openecomp.org.v9.Vpe" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Vpe">
+            <xml-root-element name="vpe" />
+            <java-attributes>
+                <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of VNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Alternate name of VNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier of service.  Does not map strictly to ASDC services.  SOON TO BE DEPRECATED" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicator for whether the resource is considered operational" />
+                        <xml-property name="dbAlias" value="operational-status" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="OBSOLETE -  do not use.  See child relationships." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Client should send valid enumerated value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamGatewayAddressPrefixLength" name="ipv4-oam-gateway-address-prefix-length" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Prefix length for oam-address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamGatewayAddress" name="ipv4-oam-gateway-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Gateway address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="v4Loopback0IpAddress" name="v4-loopback0-ip-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Loopback0 address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Temporary location for stag to get to VCE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="as-number of the VPE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="details regarding the vpe operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="indicates whether vpe access uses SSH" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v9.Licenses" />
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v9.Entitlements" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Relationship-list must include related to info for complex." />
+                <xml-property name="nameProps" value="vnf-name" />
+                <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,vnf-id,regional-resource-zone,prov-status,service-id" />
+                <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
+                <xml-property name="uniqueProps" value="vnf-id" />
+                <xml-property name="container" value="vpes" />
+                <xml-property name="namespace" value="network" />
+                <xml-property name="extends" value="vnf" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Vnfcs">
+            <xml-properties>
+                <xml-property name="description" value="virtual network components associated with a vserver from application controller." />
+            </xml-properties>
+            <xml-root-element name="vnfcs" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vnfc" name="vnfc" type="inventory.aai.openecomp.org.v9.Vnfc" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Vnfc">
+            <xml-root-element name="vnfc" />
+            <java-attributes>
+                <xml-element java-attribute="vnfcName" name="vnfc-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of vnfc." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfcFunctionCode" name="vnfc-function-code" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="function code" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfcType" name="vnfc-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="type" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="prov status of this vnfc" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this VNF, mastered by APP-C" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV4OamVip" name="ipaddress-v4-oam-vip" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Oam V4 vip address of this vnfc" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true)" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="groupNotation" name="group-notation" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Group notation of VNFC" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="vnfc-name,prov-status,vnfc-type,vnfc-function-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation" />
+                <xml-property name="searchable" value="vnfc-name" />
+                <xml-property name="container" value="vnfcs" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="L3Networks">
+            <xml-root-element name="l3-networks" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3Network" name="l3-network" type="inventory.aai.openecomp.org.v9.L3Network" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="L3Network">
+            <xml-root-element name="l3-network" />
+            <java-attributes>
+                <xml-element java-attribute="networkId" name="network-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Network ID, should be uuid. Unique across A&amp;AI." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkName" name="network-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the network, governed by some naming convention.." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkType" name="network-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Type of the network - who defines these values?" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkRole" name="network-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Role the network plans - who defines these values?" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkTechnology" name="network-technology" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Network technology - who defines these values?" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronNetworkId" name="neutron-network-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron network id of this Interface" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="isBoundToVpn" name="is-bound-to-vpn" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Set to true if bound to VPN" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier of service from ASDC.  Does not strictly map to ASDC services.  SOON TO BE DEPRECATED" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkRoleInstance" name="network-role-instance" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="network role instance" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="contrailNetworkFqdn" name="contrail-network-fqdn" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Contrail FQDN for the network" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                        <xml-property name="dbAlias" value="model-invariant-id-local" />
+                        <xml-property name="requires" value="persona-model-version" />
+                        <xml-property name="visibility" value="deployment" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="persona-model-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="internal" />
+                        <xml-property name="dbAlias" value="model-version-id-local" />
+                        <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+                        <xml-property name="dbAlias" value="model-customization-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="physicalNetworkName" name="physical-network-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name associated with the physical network." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="isProviderNetwork" name="is-provider-network" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="boolean indicatating whether or not network is a provider network." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="isSharedNetwork" name="is-shared-network" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="boolean indicatating whether or not network is a shared network." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="isExternalNetwork" name="is-external-network" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="boolean indicatating whether or not network is an external network." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Path to the controller object." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.openecomp.org.v9.Subnets" />
+                <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.openecomp.org.v9.CtagAssignments" />
+                <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.openecomp.org.v9.SegmentationAssignments" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" >
+                    <xml-properties>
+                        <xml-property name="description" value="Relates to tenant (or is it a child of tenant), complex, service, vpn-binding" />
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Generic network definition" />
+                <xml-property name="nameProps" value="network-name" />
+                <xml-property name="indexedProps" value="heat-stack-id,network-uuid,service-id,network-id,network-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-network-fqdn,network-role" />
+                <xml-property name="searchable" value="network-id,network-name" />
+                <xml-property name="uniqueProps" value="network-id" />
+                <xml-property name="container" value="l3-networks" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+        <java-type name="NetworkPolicies">
+            <xml-root-element name="network-policies" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="networkPolicy" name="network-policy" type="inventory.aai.openecomp.org.v9.NetworkPolicy" />
+            </java-attributes>
+        </java-type>
+        <java-type name="NetworkPolicy">
+            <xml-root-element name="network-policy" />
+            <java-attributes>
+                <xml-element java-attribute="networkPolicyId" name="network-policy-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID representing unique key to this instance" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkPolicyFqdn" name="network-policy-fqdn" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Contrail FQDN for the policy" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ID for the openStack Heat instance" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="nameProps" value="network-policy-fqdn" />
+                <xml-property name="indexedProps" value="network-policy-id,network-policy-fqdn" />
+                <xml-property name="searchable" value="network-policy-id,network-policy-fqdn" />
+                <xml-property name="uniqueProps" value="network-policy-id" />
+                <xml-property name="container" value="network-policies" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+        <java-type name="CtagAssignments">
+            <xml-root-element name="ctag-assignments" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="ctagAssignment" name="ctag-assignment" type="inventory.aai.openecomp.org.v9.CtagAssignment" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="CtagAssignment">
+            <xml-root-element name="ctag-assignment" />
+            <java-attributes>
+                <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" required="true" type="java.lang.Long" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="id." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="vlan-id-inner" />
+                <xml-property name="dependentOn" value="l3-network" />
+                <xml-property name="container" value="ctag-assignments" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Subnets">
+            <xml-root-element name="subnets" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="subnet" name="subnet" type="inventory.aai.openecomp.org.v9.Subnet" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Subnet">
+            <xml-root-element name="subnet" />
+            <java-attributes>
+                <xml-element java-attribute="subnetId" name="subnet-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Subnet ID, should be UUID." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="subnetName" name="subnet-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name associated with the subnet." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="neutronSubnetId" name="neutron-subnet-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Neutron id of this subnet" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="gatewayAddress" name="gateway-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="gateway ip address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkStartAddress" name="network-start-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="network start address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cidrMask" name="cidr-mask" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="cidr mask" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipVersion" name="ip-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ip version" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="dhcpEnabled" name="dhcp-enabled" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="dhcp enabled" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="dhcpStart" name="dhcp-start" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the start address reserved for use by dhcp" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="dhcpEnd" name="dhcp-end" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the last address reserved for use by dhcp" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="subnet-id,subnet-name" />
+                <xml-property name="nameProps" value="subnet-name" />
+                <xml-property name="uniqueProps" value="subnet-id" />
+                <xml-property name="dependentOn" value="l3-network" />
+                <xml-property name="container" value="subnets" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="GenericVnfs">
+            <xml-properties>
+                <xml-property name="description" value="Collection of VNFs" />
+            </xml-properties>
+            <xml-root-element name="generic-vnfs" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="genericVnf" name="generic-vnf" type="inventory.aai.openecomp.org.v9.GenericVnf" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="GenericVnf">
+            <xml-root-element name="generic-vnf" />
+            <java-attributes>
+                <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of VNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Alternate name of VNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceId" name="service-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier of service, does not necessarily map to ASDC service models.  SOON TO BE DEPRECATED" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="regionalResourceZone" name="regional-resource-zone" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Regional way of organizing pservers, source of truth should define values" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this resource by Service Assurance systems." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicator for whether the resource is considered operational.  Valid values are in-service-path and out-of-service-path." />
+                        <xml-property name="dbAlias" value="operational-status" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="OBSOLETE -  do not use" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Client should send valid enumerated value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this VNF, used by MSO." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="identifier of managed by company or customer" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by generic-vnf." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="v4 Loopback0 address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nmLanV6Address" name="nm-lan-v6-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="v6 Loopback address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="managementV6Address" name="management-v6-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="v6 management address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vcpu" name="vcpu" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vcpuUnits" name="vcpu-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vmemory" name="vmemory" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vmemoryUnits" name="vmemory-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vdisk" name="vdisk" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vdiskUnits" name="vdisk-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only in some usecases" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="used to indicate whether closed loop function is enabled on this node" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="summaryStatus" name="summary-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="encryptedAccessFlag" name="encrypted-access-flag" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="description" value="indicates whether generic-vnf access uses SSH" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                        <xml-property name="dbAlias" value="model-invariant-id-local" />
+                        <xml-property name="requires" value="persona-model-version" />
+                        <xml-property name="visibility" value="deployment" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="persona-model-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="internal" />
+                        <xml-property name="dbAlias" value="model-version-id-local" />
+                        <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+                        <xml-property name="dbAlias" value="model-customization-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="asNumber" name="as-number" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="as-number of the VNF" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="regionalResourceSubzone" name="regional-resource-subzone" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="represents sub zone of the rr plane" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Path to the controller object." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
+                <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.openecomp.org.v9.VfModules" />
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.openecomp.org.v9.Licenses" />
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.openecomp.org.v9.Entitlements" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="General purpose VNF" />
+                <xml-property name="nameProps" value="vnf-name" />
+                <xml-property name="indexedProps" value="is-closed-loop-disabled,vnf-name2,vnf-type,heat-stack-id,in-maint,vnf-name,vnf-id,regional-resource-zone,prov-status,service-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version" />
+                <xml-property name="searchable" value="vnf-id,vnf-name,vnf-name2" />
+                <xml-property name="uniqueProps" value="vnf-id" />
+                <xml-property name="container" value="generic-vnfs" />
+                <xml-property name="namespace" value="network" />
+                <xml-property name="extends" value="vnf" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VfModules">
+            <xml-properties>
+                <xml-property name="description" value="Collection of vf-modules, a deployment unit of VNFCs" />
+            </xml-properties>
+            <xml-root-element name="vf-modules" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vfModule" name="vf-module" type="inventory.aai.openecomp.org.v9.VfModule" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VfModule">
+            <xml-root-element name="vf-module" />
+            <java-attributes>
+                <xml-element java-attribute="vfModuleId" name="vf-module-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of vf-module." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vfModuleName" name="vf-module-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of vf-module" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Heat stack id corresponding to this instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="orchestration status of this vf-module, mastered by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="isBaseVfModule" name="is-base-vf-module" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="used to indicate whether or not this object is base vf module" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                        <xml-property name="dbAlias" value="model-invariant-id-local" />
+                        <xml-property name="requires" value="persona-model-version" />
+                        <xml-property name="visibility" value="deployment" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="persona-model-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="internal" />
+                        <xml-property name="dbAlias" value="model-version-id-local" />
+                        <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+                        <xml-property name="dbAlias" value="model-customization-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelId" name="widget-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary widget model. This maps directly to the A&amp;AI widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="widgetModelVersion" name="widget-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC data dictionary version of the widget model.This maps directly to the A&amp;AI version of the widget." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="contrailServiceInstanceFqdn" name="contrail-service-instance-fqdn" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the Contrail unique ID for a service-instance" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="moduleIndex" name="module-index" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="the index will track the number of modules of a given type that have been deployed in a VNF, starting with 0, and always choosing the lowest available digit" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Path to the controller object." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="a deployment unit of VNFCs" />
+                <xml-property name="indexedProps" value="vf-module-id,vf-module-name,heat-stack-id,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-service-instance-fqdn" />
+                <xml-property name="searchable" value="vf-module-id,vf-module-name" />
+                <xml-property name="dependentOn" value="generic-vnf" />
+                <xml-property name="container" value="vf-modules" />
+            </xml-properties>
+        </java-type>
+
+
+        <java-type name="LagLinks">
+            <xml-properties>
+                <xml-property name="description" value="Collection of link aggregation connections" />
+            </xml-properties>
+            <xml-root-element name="lag-links" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="lagLink" name="lag-link" type="inventory.aai.openecomp.org.v9.LagLink" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="LagLink">
+            <xml-root-element name="lag-link" />
+            <java-attributes>
+                <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Alphabetical concatenation of lag-interface names" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="LAG links can connect lag-interfaces" />
+                <xml-property name="indexedProps" value="link-name" />
+                <xml-property name="container" value="lag-links" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Newvces">
+            <xml-properties>
+                <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
+            </xml-properties>
+            <xml-root-element name="newvces" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="newvce" name="newvce" type="inventory.aai.openecomp.org.v9.Newvce" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Newvce">
+            <xml-root-element name="newvce" />
+            <java-attributes>
+                <xml-element java-attribute="vnfId2" name="vnf-id2" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of VNF, can't use same attribute name right now until we promote this new object" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName" name="vnf-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of VNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName2" name="vnf-name2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Alternate name of VNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfType" name="vnf-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing type of vnf, that was intended to identify the ASDC resource.  This field has been overloaded in service-specific ways and clients should expect changes to occur in the future to this field as ECOMP matures." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Trigger for operational monitoring of this VNF by BAU Service Assurance systems." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalState" name="operational-state" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicator for whether the resource is considered operational" />
+                        <xml-property name="dbAlias" value="operational-status" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="licenseKey" name="license-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="OBSOLETE -  do not use" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4OamAddress" name="ipv4-oam-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Address tail-f uses to configure vpe, also used for troubleshooting and is IP used for traps generated by VPE (v4-loopback0-ip-address)." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipmentRole" name="equipment-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Client should send valid enumerated value, e.g., VPE." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipv4Loopback0Address" name="ipv4-loopback0-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="v4 Loopback0 address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this VNF, mastered by MSO." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="heatStackId" name="heat-stack-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Heat stack id corresponding to this instance, managed by MSO" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="msoCatalogKey" name="mso-catalog-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Corresponds to the SDN-C catalog id used to configure this VCE" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.openecomp.org.v9.LInterfaces" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="This object fills in the gaps from vce that were incorporated into generic-vnf.  This object will be retired with vce." />
+                <xml-property name="nameProps" value="vnf-name" />
+                <xml-property name="indexedProps" value="vnf-name,vnf-name2,vnf-type,heat-stack-id,prov-status,vnf-id2" />
+                <xml-property name="searchable" value="vnf-id2,vnf-name,vnf-name2" />
+                <xml-property name="uniqueProps" value="vnf-id2" />
+                <xml-property name="container" value="newvces" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Pnfs">
+            <xml-properties>
+                <xml-property name="description" value="Collection of Physical Network Functions." />
+            </xml-properties>
+            <xml-root-element name="pnfs" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="pnf" name="pnf" type="inventory.aai.openecomp.org.v9.Pnf" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Pnf">
+            <xml-root-element name="pnf" />
+            <java-attributes>
+                <xml-element java-attribute="pnfName" name="pnf-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="unique name of Physical Network Function." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="pnfName2" name="pnf-name2" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="name of Physical Network Function." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="pnfName2Source" name="pnf-name2-source" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="source of name2" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="pnfId" name="pnf-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="id of pnf" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipType" name="equip-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Equipment type.  Source of truth should define valid values." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipVendor" name="equip-vendor" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Equipment vendor.  Source of truth should define valid values." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="equipModel" name="equip-model" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Equipment model.  Source of truth should define valid values." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="identifier of managed by company or customer" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV4Oam" name="ipaddress-v4-oam" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ipv4-oam-address with new naming convention for IP addresses" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="swVersion" name="sw-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="sw-version is the version of SW for the hosted application on the PNF." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" required="true" java-attribute="inMaint" name="in-maint" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Used to indicate whether or not this object is in maintenance mode (maintenance mode = true). This field (in conjunction with prov-status) is used to suppress alarms and vSCL on VNFs/VMs." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="frameId" name="frame-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ID of the physical frame (relay rack) where pnf is installed." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serialNumber" name="serial-number" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Serial number of the device" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV4Loopback0" name="ipaddress-v4-loopback-0" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV4 Loopback 0 address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV6Loopback0" name="ipaddress-v6-loopback-0" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV6 Loopback 0 address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV4Aim" name="ipaddress-v4-aim" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV4 AIM address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV6Aim" name="ipaddress-v6-aim" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV6 AIM address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipaddressV6Oam" name="ipaddress-v6-oam" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IPV6 OAM address" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="invStatus" name="inv-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nfRole" name="nf-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Nf Role is the role performed by this instance in the network." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.openecomp.org.v9.PInterfaces" />
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.openecomp.org.v9.LagInterfaces" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world." />
+                <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status" />
+                <xml-property name="searchable" value="pnf-name" />
+                <xml-property name="uniqueProps" value="pnf-name" />
+                <xml-property name="container" value="pnfs" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="PhysicalLinks">
+            <xml-properties>
+                <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
+            </xml-properties>
+            <xml-root-element name="physical-links" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="physicalLink" name="physical-link" type="inventory.aai.openecomp.org.v9.PhysicalLink" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="PhysicalLink">
+            <xml-root-element name="physical-link" />
+            <java-attributes>
+                <xml-element java-attribute="linkName" name="link-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="e.g., hostnameA_p-connection_nameA_hostnameZ+p_connection-nameZ" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedValue" name="speed-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the numeric part of the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="speedUnits" name="speed-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Captures the units corresponding to the speed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="circuitId" name="circuit-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Circuit it" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="dualMode" name="dual-mode" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Dual access mode (e.g., primary, secondary" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="To provide information on who manages this circuit. A&amp;AI or 3rd party transport provider" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceProviderName" name="service-provider-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the service Provider on this link." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Collection of physical connections, typically between p-interfaces" />
+                <xml-property name="indexedProps" value="circuit-id,link-name" />
+                <xml-property name="alternateKeys1" value="circuit-id" />
+                <xml-property name="container" value="physical-links" />
+                <xml-property name="namespace" value="network" />
+                <xml-property name="searchable" value="link-name,circuit-id" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VigServers">
+            <xml-root-element name="vig-servers" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vigServer" name="vig-server" type="inventory.aai.openecomp.org.v9.VigServer" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VigServer">
+            <xml-root-element name="vig-server" />
+            <java-attributes>
+                <xml-element java-attribute="vigAddressType" name="vig-address-type" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="indicates whether the VIG is for AVPN or INTERNET" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV4Vig" name="ipaddress-v4-vig" type="java.lang.String" >
+                    <xml-properties>
+                        <xml-property name="description" value="v4 IP of the vig server" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element container-type="java.util.ArrayList" java-attribute="ipaddressV6Vig" name="ipaddress-v6-vig" type="java.lang.String" >
+                    <xml-properties>
+                        <xml-property name="description" value="v6 IP of the vig server" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="vig-server contains information about a vig server used for IPSec-configuration. Populated by SDN-C from 1607" />
+                <xml-property name="indexedProps" value="vig-address-type" />
+                <xml-property name="dependentOn" value="ipsec-configuration" />
+                <xml-property name="container" value="vig-servers" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="IpsecConfigurations">
+            <xml-root-element name="ipsec-configurations" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="ipsecConfiguration" name="ipsec-configuration" type="inventory.aai.openecomp.org.v9.IpsecConfiguration" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="IpsecConfiguration">
+            <xml-root-element name="ipsec-configuration" />
+            <java-attributes>
+                <xml-element java-attribute="ipsecConfigurationId" name="ipsec-configuration-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of this configuration" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="requestedVigAddressType" name="requested-vig-address-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicate the type of VIG server like AVPN, INTERNET, BOTH" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="requestedEncryptionStrength" name="requested-encryption-strength" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Encryption values like 3des-cbc, des-cbc, aes-128-cbc, aes-192-cbc, aes-265-cbc" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="requestedDmzType" name="requested-dmz-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="can offer a shared DMZ or a DMZ specific to a customer" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="sharedDmzNetworkAddress" name="shared-dmz-network-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Network address of shared DMZ" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="requestedCustomerName" name="requested-customer-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="If the DMZ is a custom DMZ, this field will indicate the customer information" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ikeVersion" name="ike-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="can be 1 or 2" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ikev1Authentication" name="ikev1-authentication" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Contains values like md5, sha1, sha256, sha384" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ikev1Encryption" name="ikev1-encryption" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Encyption values like 3des-cbc, des-cbc, aes-128-cbc,ƂĀ aes-192-cbc, aes-265-cbc" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ikev1DhGroup" name="ikev1-dh-group" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Diffie-Hellman group like DH-GROUP2, DH-GROUP5, DH-GROUP14" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ikev1AmGroupId" name="ikev1-am-group-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Group name defined in VIG for clients using aggressive mode" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ikev1AmPassword" name="ikev1-am-password" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="pre-shared key for the above group name " />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ikev1SaLifetime" name="ikev1-sa-lifetime" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Lifetime for IKEv1 SA" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipsecAuthentication" name="ipsec-authentication" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="md5, sha1, sha256, sha384" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipsecEncryption" name="ipsec-encryption" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="3des-cbc, des-cbc, aes-128-cbc,ƂĀ aes-192-cbc, aes-265-cbc" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipsecSaLifetime" name="ipsec-sa-lifetime" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Life time for IPSec SA" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipsecPfs" name="ipsec-pfs" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="enable PFS or not" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="xauthUserId" name="xauth-userid" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="user ID for xAuth, sm-user, ,nmteHostName" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="xauthUserPassword" name="xauth-user-password" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Encrypted using the Juniper $9$ algorithm" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="dpdInterval" name="dpd-interval" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The time between DPD probe" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="dpdFrequency" name="dpd-frequency" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Maximum number of DPD before claiming the tunnel is down" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+                <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.openecomp.org.v9.VigServers" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="IPSec configuration node will contain various configuration data for the NMTE VNF. This node will have an edge to the generic-vnf (vnf type = TE). Starting 1607, this data will be populated by SDN-C" />
+                <xml-property name="indexedProps" value="ipsec-configuration-id" />
+                <xml-property name="uniqueProps" value="ipsec-configuration-id" />
+                <xml-property name="container" value="ipsec-configurations" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+
+        <java-type name="NotificationEvent">
+            <xml-root-element name="notification-event" />
+            <java-attributes>
+                <xml-element java-attribute="cambriaPartition" name="cambria.partition" type="java.lang.String" />
+                <xml-element java-attribute="eventHeader" name="event-header" type="inventory.aai.openecomp.org.v9.NotificationEventHeader" />
+                <xml-any-element java-attribute="entity" />
+            </java-attributes>
+        </java-type>
+        <java-type name="NotificationEventHeader">
+            <xml-root-element name="notification-event-header" />
+            <java-attributes>
+                <xml-element java-attribute="id" name="id" type="java.lang.String" />
+                <xml-element java-attribute="timestamp" name="timestamp" type="java.lang.String" />
+                <xml-element java-attribute="sourceName" name="source-name" type="java.lang.String" />
+                <xml-element java-attribute="domain" name="domain" type="java.lang.String" />
+                <xml-element java-attribute="sequenceNumber" name="sequence-number" type="java.lang.String" />
+                <xml-element java-attribute="severity" name="severity" type="java.lang.String" />
+                <xml-element java-attribute="eventType" name="event-type" type="java.lang.String" />
+                <xml-element java-attribute="version" name="version" type="java.lang.String" />
+                <xml-element java-attribute="action" name="action" type="java.lang.String" />
+                <xml-element java-attribute="entityType" name="entity-type" type="java.lang.String" />
+                <xml-element java-attribute="topEntityType" name="top-entity-type" type="java.lang.String" />
+                <xml-element java-attribute="entityLink" name="entity-link" type="java.lang.String" />
+                <xml-element java-attribute="status" name="status" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+        <java-type name="AaiInternal">
+            <xml-root-element name="aai-internal" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="reservedPropNames" name="reserved-prop-names" type="inventory.aai.openecomp.org.v9.ReservedPropNames" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.openecomp.org.v9.EdgePropNames" />
+            </java-attributes>
+        </java-type>
+        <java-type name="ReservedPropNames">
+            <xml-properties>
+                <xml-property name="description" value="Internal map to define some reserved properties of a vertex" />
+                <xml-property name="uniqueProps" value="aai-unique-key" />
+                <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri" />
+            </xml-properties>
+            <xml-root-element name="reserved-prop-names" />
+            <java-attributes>
+                <xml-element java-attribute="lastModSourceOfTruth" name="last-mod-source-of-truth" type="java.lang.String" />
+                <xml-element java-attribute="aaiNodeType" name="aai-node-type" type="java.lang.String" />
+                <xml-element java-attribute="aaiCreatedTs" name="aai-created-ts" type="java.lang.Long" />
+                <xml-element java-attribute="aaiUniqueKey" name="aai-unique-key" type="java.lang.String" />
+                <xml-element java-attribute="aaiLastModTs" name="aai-last-mod-ts" type="java.lang.Long" />
+                <xml-element java-attribute="sourceOfTruth" name="source-of-truth" type="java.lang.String" />
+                <xml-element java-attribute="aaiUri" name="aai-uri" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+        <java-type name="EdgePropNames">
+            <!-- NOTE that the names of these properties are not consistent and are in mixed case and hyphen case for now -->
+            <xml-properties>
+                <xml-property name="description" value="Internal map to define the properties of an edge and interpret the map EdgeRules" />
+                <xml-property name="edgeInfo" value="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV" />
+            </xml-properties>
+            <xml-root-element name="edge-prop-names" />
+            <java-attributes>
+                <xml-element java-attribute="edgeLabel" name="edgeLabel" type="java.lang.String" />
+                <xml-element java-attribute="direction" name="direction" type="java.lang.String" />
+                <xml-element java-attribute="multiplicityRule" name="multiplicityRule" type="java.lang.String" />
+                <xml-element java-attribute="isParent" name="isParent" type="java.lang.Boolean" />
+                <xml-element java-attribute="usesResource" name="usesResource" type="java.lang.Boolean" />
+                <xml-element java-attribute="hasDelTarget" name="hasDelTarget" type="java.lang.Boolean" />
+                <xml-element java-attribute="SVC-INFRA" name="SVC-INFRA" type="java.lang.Boolean" />
+                <xml-element java-attribute="SVC-INFRA-REV" name="SVC-INFRA-REV" type="java.lang.Boolean" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Models">
+            <xml-properties>
+                <xml-property name="description" value="Collection of subgraph definitions provided by ASDC to describe the inventory assets and their connections related to ASDC models" />
+            </xml-properties>
+            <xml-root-element name="models" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="model" name="model" type="inventory.aai.openecomp.org.v9.Model" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Model">
+            <xml-root-element name="model" />
+            <xml-properties>
+                <xml-property name="description" value="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version" />
+                <xml-property name="nameProps" value="model-type" />
+                <xml-property name="indexedProps" value="model-invariant-id,model-type" />
+                <xml-property name="uniqueProps" value="model-invariant-id" />
+                <xml-property name="container" value="models" />
+                <xml-property name="namespace" value="service-design-and-creation" />
+            </xml-properties>
+            <java-attributes>
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v9.ModelVers" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+
+        <java-type name="ModelVers">
+            <xml-root-element name="model-vers" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="modelVer" name="model-ver" type="inventory.aai.openecomp.org.v9.ModelVer" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ModelVer">
+            <xml-root-element name="model-ver" />
+            <xml-properties>
+                <xml-property name="description" value="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models" />
+                <xml-property name="nameProps" value="model-name" />
+                <xml-property name="indexedProps" value="model-version-id,model-name,model-version" />
+                <xml-property name="uniqueProps" value="model-version-id" />
+                <xml-property name="container" value="model-vers" />
+            </xml-properties>
+            <java-attributes>
+                <xml-element java-attribute="modelVersionId" name="model-version-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the model, which can change from version to version." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Version" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Description" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v9.ModelElements" />
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.openecomp.org.v9.Metadata" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ModelElements">
+            <xml-root-element name="model-elements" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="modelElement" name="model-element" type="inventory.aai.openecomp.org.v9.ModelElement" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ModelElement">
+            <xml-properties>
+                <xml-property name="description" value="Defines how other models combine to make up a higher-level model." />
+                <xml-property name="uniqueProps" value="model-element-uuid" />
+                <xml-property name="indexedProps" value="model-element-uuid" />
+                <xml-property name="allowDirectRead" value="true" />
+                <xml-property name="allowDirectWrite" value="false" />
+                <xml-property name="container" value="model-elements" />
+            </xml-properties>
+            <xml-root-element name="model-element" />
+            <java-attributes>
+                <xml-element java-attribute="modelElementUuid" name="model-element-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="autoGenerateUuid" value="true" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="newDataDelFlag" name="new-data-del-flag" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicates whether this element was created as part of instantiation from this model" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cardinality" name="cardinality" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="How many of this type of element are required/allowed" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element container-type="java.util.ArrayList" java-attribute="linkagePoints" name="linkage-points" type="java.lang.String" >
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v9.ModelElements">
+                    <xml-properties>
+                        <xml-property name="description" value="Defines how other models combine to make up a higher-level model" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelConstraints" name="model-constraints" type="inventory.aai.openecomp.org.v9.ModelConstraints">
+                    <xml-properties>
+                        <xml-property name="description" value="Describes new constraints on this model element that are not part of that model's definition" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ModelConstraints">
+            <xml-root-element name="model-constraints" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="modelConstraint" name="model-constraint" type="inventory.aai.openecomp.org.v9.ModelConstraint" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ModelConstraint">
+            <xml-properties>
+                <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
+                <xml-property name="uniqueProps" value="model-constraint-uuid" />
+                <xml-property name="indexedProps" value="model-constraint-uuid" />
+                <xml-property name="allowDirectRead" value="true" />
+                <xml-property name="allowDirectWrite" value="false" />
+                <xml-property name="container" value="model-constraints" />
+            </xml-properties>
+            <xml-root-element name="model-constraint" />
+            <java-attributes>
+                <xml-element java-attribute="modelConstraintUuid" name="model-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="autoGenerateUuid" value="true" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="constrainedElementSetUuidToReplace" name="constrained-element-set-uuid-to-replace" required="true" type="java.lang.String" />
+                <xml-element java-attribute="constrainedElementSets" name="constrained-element-sets" type="inventory.aai.openecomp.org.v9.ConstrainedElementSets" />
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ConstrainedElementSets">
+            <xml-root-element name="constrained-element-sets" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="constrainedElementSet" name="constrained-element-set" type="inventory.aai.openecomp.org.v9.ConstrainedElementSet" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ConstrainedElementSet">
+            <xml-properties>
+                <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
+                <xml-property name="uniqueProps" value="constrained-element-set-uuid" />
+                <xml-property name="indexedProps" value="constrained-element-set-uuid" />
+                <xml-property name="allowDirectRead" value="true" />
+                <xml-property name="allowDirectWrite" value="false" />
+                <xml-property name="container" value="constrained-element-sets" />
+            </xml-properties>
+            <xml-root-element name="constrained-element-set" />
+            <java-attributes>
+                <xml-element java-attribute="constrainedElementSetUuid" name="constrained-element-set-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="autoGenerateUuid" value="true" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
+                <xml-element java-attribute="checkType" name="check-type" required="true" type="java.lang.String" />
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+                <xml-element java-attribute="elementChoiceSets" name="element-choice-sets" type="inventory.aai.openecomp.org.v9.ElementChoiceSets" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ElementChoiceSets">
+            <xml-root-element name="element-choice-sets" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="elementChoiceSet" name="element-choice-set" type="inventory.aai.openecomp.org.v9.ElementChoiceSet" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ElementChoiceSet">
+            <xml-properties>
+                <xml-property name="description" value="This is how we would capture constraints defining allowed sets of elements." />
+                <xml-property name="uniqueProps" value="element-choice-set-uuid" />
+                <xml-property name="indexedProps" value="element-choice-set-uuid" />
+                <xml-property name="allowDirectRead" value="true" />
+                <xml-property name="allowDirectWrite" value="false" />
+                <xml-property name="container" value="element-choice-sets" />
+            </xml-properties>
+            <xml-root-element name="element-choice-set" />
+            <java-attributes>
+                <xml-element java-attribute="elementChoiceSetUuid" name="element-choice-set-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="autoGenerateUuid" value="true" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="elementChoiceSetName" name="element-choice-set-name" required="true" type="java.lang.String" />
+                <xml-element java-attribute="cardinality" name="cardinality" type="java.lang.String" />
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+                <xml-element java-attribute="modelElements" name="model-elements" type="inventory.aai.openecomp.org.v9.ModelElements" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="NamedQueries">
+            <xml-root-element name="named-queries" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v9.NamedQuery" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="NamedQuery">
+            <xml-properties>
+                <xml-property name="description" value="TBD" />
+                <xml-property name="nameProps" value="named-query-name" />
+                <xml-property name="uniqueProps" value="named-query-uuid" />
+                <xml-property name="indexedProps" value="named-query-uuid,named-query-name" />
+                <xml-property name="container" value="named-queries" />
+                <xml-property name="namespace" value="service-design-and-creation" />
+            </xml-properties>
+            <xml-root-element name="named-query" />
+            <java-attributes>
+                <xml-element java-attribute="namedQueryUuid" name="named-query-uuid" required="true" type="java.lang.String" xml-key="true" />
+                <xml-element java-attribute="namedQueryName" name="named-query-name" required="true" type="java.lang.String" />
+                <xml-element java-attribute="namedQueryVersion" name="named-query-version" required="true" type="java.lang.String" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="requiredInputParams" name="required-input-param" type="java.lang.String" >
+                    <xml-element-wrapper name="required-input-params" />
+                </xml-element>
+                <xml-element java-attribute="description" name="description" type="java.lang.String" />
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+                <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v9.NamedQueryElements" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="NamedQueryElements">
+            <xml-root-element name="named-query-elements" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="namedQueryElement" name="named-query-element" type="inventory.aai.openecomp.org.v9.NamedQueryElement" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="NamedQueryElement">
+            <xml-properties>
+                <xml-property name="description" value="TBD" />
+                <xml-property name="uniqueProps" value="named-query-element-uuid" />
+                <xml-property name="indexedProps" value="named-query-element-uuid" />
+                <xml-property name="allowDirectRead" value="true" />
+                <xml-property name="allowDirectWrite" value="false" />
+                <xml-property name="container" value="named-query-elements" />
+            </xml-properties>
+            <xml-root-element name="named-query-element" />
+            <java-attributes>
+                <xml-element java-attribute="namedQueryElementUuid" name="named-query-element-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="autoGenerateUuid" value="true" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+                <xml-element java-attribute="propertyLimitDesc" name="property-limit-desc" type="java.lang.String" />
+                <xml-element java-attribute="doNotOutput" name="do-not-output" type="java.lang.String" />
+                <xml-element java-attribute="namedQueryElements" name="named-query-elements" type="inventory.aai.openecomp.org.v9.NamedQueryElements" />
+                <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.openecomp.org.v9.RelatedLookups" />
+                <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.openecomp.org.v9.PropertyConstraints" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="RelatedLookups">
+            <xml-root-element name="related-lookups" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="relatedLookup" name="related-lookup" type="inventory.aai.openecomp.org.v9.RelatedLookup" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="RelatedLookup">
+            <xml-properties>
+                <xml-property name="description" value="TBD" />
+                <xml-property name="uniqueProps" value="related-lookup-uuid" />
+                <xml-property name="indexedProps" value="related-lookup-uuid" />
+                <xml-property name="allowDirectRead" value="true" />
+                <xml-property name="allowDirectWrite" value="false" />
+                <xml-property name="container" value="related-lookups" />
+            </xml-properties>
+            <xml-root-element name="related-lookup" />
+            <java-attributes>
+                <xml-element java-attribute="relatedLookupUuid" name="related-lookup-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="autoGenerateUuid" value="true" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="sourceNodeType" name="source-node-type" required="true" type="java.lang.String" />
+                <xml-element java-attribute="sourceNodeProperty" name="source-node-property" required="true" type="java.lang.String" />
+                <xml-element java-attribute="targetNodeType" name="target-node-type" required="true" type="java.lang.String" />
+                <xml-element java-attribute="targetNodeProperty" name="target-node-property" required="true" type="java.lang.String" />
+                <xml-element container-type="java.util.ArrayList" java-attribute="propertyCollectList" name="property-collect-list" type="java.lang.String" />
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="PropertyConstraints">
+            <xml-root-element name="property-constraints" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="propertyConstraint" name="property-constraint" type="inventory.aai.openecomp.org.v9.PropertyConstraint" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="PropertyConstraint">
+            <xml-properties>
+                <xml-property name="description" value="TBD" />
+                <xml-property name="uniqueProps" value="property-constraint-uuid" />
+                <xml-property name="indexedProps" value="property-constraint-uuid" />
+                <xml-property name="allowDirectRead" value="true" />
+                <xml-property name="allowDirectWrite" value="false" />
+                <xml-property name="container" value="property-constraints" />
+            </xml-properties>
+            <xml-root-element name="property-constraint" />
+            <java-attributes>
+                <xml-element java-attribute="propertyConstraintUuid" name="property-constraint-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="autoGenerateUuid" value="true" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="constraintType" name="constraint-type" required="true" type="java.lang.String" />
+                <xml-element java-attribute="propertyName" name="property-name" required="true" type="java.lang.String" />
+                <xml-element java-attribute="propertyValue" name="property-value" required="true" type="java.lang.String" />
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ModelAndNamedQuerySearch">
+            <xml-properties>
+                <xml-property name="description" value="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query" />
+            </xml-properties>
+            <xml-root-element name="model-and-named-query-search" />
+            <java-attributes>
+                <xml-element java-attribute="queryParameters" name="query-parameters" type="inventory.aai.openecomp.org.v9.QueryParameters" />
+                <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.openecomp.org.v9.InstanceFilters" />
+                <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.openecomp.org.v9.SecondaryFilts" />
+                <xml-element java-attribute="topNodeType" name="top-node-type" type="java.lang.String" />
+                <xml-element java-attribute="secondaryFilterCutPoint" name="secondary-filter-cut-point" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="QueryParameters">
+            <xml-properties>
+                <xml-property name="description" value="QueryParameters for performing a named-query or model query" />
+            </xml-properties>
+            <xml-root-element name="query-parameters" />
+            <java-attributes>
+                <xml-element java-attribute="namedQuery" name="named-query" type="inventory.aai.openecomp.org.v9.NamedQuery" />
+                <xml-element java-attribute="model" name="model" type="inventory.aai.openecomp.org.v9.OverloadedModel" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="OverloadedModel">
+            <xml-root-element name="overloaded-model" />
+            <xml-properties>
+                <xml-property name="description" value="Allows for legacy POST of old-style and new-style models" />
+            </xml-properties>
+            <java-attributes>
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier corresponding to the main definition of a model in ASDC" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelNameVersionId" name="model-name-version-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier corresponding to one version of a model in ASDC" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelType" name="model-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Type of the model, e.g., service, resource, widget, etc." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelName" name="model-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the model, which can change from version to version." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelId" name="model-id" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Invariant unique ID which does not change from version to version" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersion" name="model-version" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Version" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelDescription" name="model-description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Description" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVers" name="model-vers" type="inventory.aai.openecomp.org.v9.ModelVers" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="InstanceFilters">
+            <xml-properties>
+                <xml-property name="description" value="InstanceFilters for performing a named-query or model query" />
+            </xml-properties>
+            <xml-root-element name="instance-filters" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="instanceFilter" name="instance-filter" type="inventory.aai.openecomp.org.v9.InstanceFilter" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="InstanceFilter">
+            <xml-properties>
+                <xml-property name="description" value="InstanceFilter for performing a named-query or model query" />
+                <xml-property name="container" value="instance-filters" />
+            </xml-properties>
+            <xml-root-element name="instance-filter" />
+            <java-attributes>
+                <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SecondaryFilts">
+            <xml-properties>
+                <xml-property name="description" value="SecondaryFilts for performing a named-query or model query" />
+            </xml-properties>
+            <xml-root-element name="secondary-filts" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilt" name="secondary-filt" type="inventory.aai.openecomp.org.v9.SecondaryFilt" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SecondaryFilt">
+            <xml-properties>
+                <xml-property name="description" value="SecondaryFilt for performing a named-query or model query" />
+            </xml-properties>
+            <xml-root-element name="secondary-filt" />
+            <java-attributes>
+                <xml-any-element container-type="java.util.ArrayList" java-attribute="any" lax="true" name="any" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Properties">
+            <xml-properties>
+                <xml-property name="description" value="Property holder for query properties or instance properties" />
+            </xml-properties>
+            <xml-root-element name="properties" />
+            <java-attributes>
+                <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+                <xml-element java-attribute="propertyValue" name="property-value" type="java.lang.String" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ResponseList">
+            <xml-properties>
+                <xml-property name="description" value="Response container for the results of a named-query or model query" />
+            </xml-properties>
+            <xml-root-element name="response-list" />
+            <java-attributes>
+                <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v9.InventoryResponseItems" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="InventoryResponseItems">
+            <xml-properties>
+                <xml-property name="description" value="Container for inventory items in response list" />
+                <xml-property name="container" value="response-list" />
+            </xml-properties>
+            <xml-root-element name="inventory-response-items" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="inventoryResponseItem" name="inventory-response-item" type="inventory.aai.openecomp.org.v9.InventoryResponseItem" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="InventoryResponseItem">
+            <xml-properties>
+                <xml-property name="description" value="Inventory item for response list" />
+                <xml-property name="container" value="inventory-response-items" />
+            </xml-properties>
+            <xml-root-element name="inventory-response-item" />
+            <java-attributes>
+                <xml-element java-attribute="modelName" name="model-name" type="java.lang.String" />
+                <xml-any-element java-attribute="item" />
+                <xml-element java-attribute="extraProperties" name="extra-properties" type="inventory.aai.openecomp.org.v9.ExtraProperties" />
+                <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.openecomp.org.v9.InventoryResponseItems" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ExtraProperties">
+            <xml-properties>
+                <xml-property name="description" value="Extra properties for inventory item for response list" />
+            </xml-properties>
+            <xml-root-element name="extra-properties" />
+            <java-attributes>
+                <xml-any-element container-type="java.util.ArrayList" java-attribute="extraProperty" name="extra-property" type="inventory.aai.openecomp.org.v9.ExtraProperty" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ExtraProperty">
+            <xml-root-element name="extra-property" />
+            <java-attributes>
+                <xml-element java-attribute="propertyName" name="property-name" type="java.lang.String" />
+                <xml-any-element java-attribute="propertyValue" lax="true" name="property-value" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="RouteTableReferences">
+            <xml-properties>
+                <xml-property name="description" value="Collection of openstack route table references" />
+            </xml-properties>
+            <xml-root-element name="route-table-references" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="routeTableReference" name="route-table-reference" type="inventory.aai.openecomp.org.v9.RouteTableReference" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="RouteTableReference">
+            <xml-root-element name="route-table-reference" />
+            <java-attributes>
+                <xml-element java-attribute="routeTableReferenceId" name="route-table-reference-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routeTableReferenceFqdn" name="route-table-reference-fqdn" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="FQDN entry in the route table." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Concurrency value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+
+            <xml-properties>
+                <xml-property name="description" value="Openstack route table reference." />
+                <xml-property name="nameProps" value="route-table-reference-fqdn" />
+                <xml-property name="uniqueProps" value="route-table-reference-id" />
+                <xml-property name="indexedProps" value="route-table-reference-id,route-table-reference-fqdn" />
+                <xml-property name="container" value="route-table-references" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="InstanceGroups">
+            <xml-properties>
+                <xml-property name="description" value="Collection of openstack route table references" />
+            </xml-properties>
+            <xml-root-element name="instance-groups" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="instanceGroup" name="instance-group" type="inventory.aai.openecomp.org.v9.InstanceGroup" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="InstanceGroup">
+            <xml-root-element name="instance-group" />
+            <java-attributes>
+                <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Instance Group ID, UUID assigned to this instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="description" name="description" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Descriptive text to help identify the usage of this instance-group" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="type" name="type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Only valid value today is lower case ha for high availability" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="subType" name="sub-type"  type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Concurrency value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+
+            <xml-properties>
+                <xml-property name="description" value="General mechanism for grouping instances" />
+                <xml-property name="nameProps" value="description" />
+                <xml-property name="uniqueProps" value="id" />
+                <xml-property name="indexedProps" value="id,description,type,sub-type" />
+                <xml-property name="container" value="instance-groups" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+
+        <java-type name="SegmentationAssignments">
+            <xml-properties>
+                <xml-property name="description" value="Collection of openstack segmentation assignments" />
+            </xml-properties>
+            <xml-root-element name="segmentation-assignments" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="segmentationAssignment" name="segmentation-assignment" type="inventory.aai.openecomp.org.v9.SegmentationAssignment" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SegmentationAssignment">
+            <xml-root-element name="segmentation-assignment" />
+            <java-attributes>
+                <xml-element java-attribute="segmentationId" name="segmentation-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Route Table Reference id, UUID assigned to this instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Concurrency value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Openstack segmentation assignment." />
+                <xml-property name="indexedProps" value="segmentation-id" />
+                <xml-property name="dependentOn" value="l3-network" />
+                <xml-property name="container" value="segmentation-assignments" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="AllottedResources">
+            <xml-properties>
+                <xml-property name="description" value="This object is used to store slices of services being offered" />
+            </xml-properties>
+            <xml-root-element name="allotted-resources" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="allottedResource" name="allotted-resource" type="inventory.aai.openecomp.org.v9.AllottedResource" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="AllottedResource">
+            <xml-root-element name="allotted-resource" />
+            <java-attributes>
+                <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="description" name="description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The descriptive information assigned to this allotted resource instance" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Link back to more information in the controller" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelId" name="persona-model-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model id for this resource or service model." />
+                        <xml-property name="dbAlias" value="model-invariant-id-local" />
+                        <xml-property name="requires" value="persona-model-version" />
+                        <xml-property name="visibility" value="deployment" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelVersion" name="persona-model-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="deployment" />
+                        <xml-property name="requires" value="persona-model-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelVersionId" name="model-version-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="the ASDC model version for this resource or service model." />
+                        <xml-property name="visibility" value="internal" />
+                        <xml-property name="dbAlias" value="model-version-id-local" />
+                        <xml-property name="dataCopy" value="service-design-and-creation/models/model/{persona-model-id}/model-vers?model-version={persona-model-version}#model-version-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="personaModelCustomizationId" name="persona-model-customization-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="captures the id of all the configuration used to customize the resource for the service." />
+                        <xml-property name="dbAlias" value="model-customization-id" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Concurrency value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.openecomp.org.v9.TunnelXconnects" />
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+
+            <xml-properties>
+                <xml-property name="description" value="Represents a slice or partial piece of a resource that gets separately allotted" />
+                <xml-property name="nameProps" value="description" />
+                <xml-property name="uniqueProps" value="id" />
+                <xml-property name="indexedProps" value="id,persona-model-id,persona-model-version" />
+                <xml-property name="dependentOn" value="service-instance" />
+                <xml-property name="container" value="allotted-resources" />
+                <!--  <xml-property name="namespace" value="network" /> -->
+            </xml-properties>
+        </java-type>
+
+        <java-type name="TunnelXconnects">
+            <xml-properties>
+                <xml-property name="description" value="This object is used to store the specific tunnel cross connect aspects of an allotted resource" />
+            </xml-properties>
+            <xml-root-element name="tunnel-xconnects" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="tunnelXconnect" name="tunnel-xconnect" type="inventory.aai.openecomp.org.v9.TunnelXconnect" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="TunnelXconnect">
+            <xml-root-element name="tunnel-xconnect" />
+            <java-attributes>
+                <xml-element java-attribute="id" name="id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Allotted Resource id UUID assigned to this instance." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthUpWan1" name="bandwidth-up-wan1" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The WAN uplink bandwidth for WAN1" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthDownWan1" name="bandwidth-down-wan1" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The WAN downlink bandwidth for WAN1" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthUpWan2" name="bandwidth-up-wan2" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The WAN uplink bandwidth for WAN2" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="bandwidthDownWan2" name="bandwidth-down-wan2" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The WAN downlink bandwidth for WAN2" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Concurrency value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+
+            <xml-properties>
+                <xml-property name="description" value="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted" />
+                <xml-property name="uniqueProps" value="id" />
+                <xml-property name="indexedProps" value="id" />
+                <xml-property name="dependentOn" value="allotted-resource" />
+                <xml-property name="container" value="tunnel-xconnects" />
+                <!--  <xml-property name="namespace" value="network" /> -->
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Entitlements">
+            <xml-properties>
+                <xml-property name="description" value="Entitlements, keyed by group-uuid and resource-uuid, related to license management" />
+            </xml-properties>
+            <xml-root-element name="entitlements" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="entitlement" name="entitlement" type="inventory.aai.openecomp.org.v9.Entitlement" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Entitlement">
+            <xml-root-element name="entitlement" />
+            <java-attributes>
+                <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID for the entitlement group the resource comes from, should be uuid." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of an entitlement resource. " />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Concurrency value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Metadata for entitlement group." />
+                <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
+                <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
+                <xml-property name="container" value="entitlements" />
+            </xml-properties>
+        </java-type>
+
+
+        <java-type name="Licenses">
+            <xml-properties>
+                <xml-property name="description" value="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management" />
+            </xml-properties>
+            <xml-root-element name="licenses" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="license" name="license" type="inventory.aai.openecomp.org.v9.License" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="License">
+            <xml-root-element name="license" />
+            <java-attributes>
+                <xml-element java-attribute="groupUuid" name="group-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID for the license group the resource belongs to, should be uuid." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceUuid" name="resource-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of a license resource. " />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Concurrency value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Metadata for license group." />
+                <xml-property name="indexedProps" value="group-uuid,resource-uuid" />
+                <xml-property name="dependentOn" value="generic-vnf,vce,vpe" />
+                <xml-property name="container" value="licenses" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Vnf">
+            <xml-root-element name="vnf"/>
+            <java-attributes>
+                <xml-element java-attribute="vnfId" name="vnf-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of VNF.  This is unique across the graph." />
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Abstract vnf class" />
+                <xml-property name="indexedProps" value="vnf-id" />
+                <xml-property name="uniqueProps" value="vnf-id" />
+                <xml-property name="inheritors" value="vce,vpe,generic-vnf" />
+                <xml-property name="abstract" value="true" />
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Zones">
+            <xml-properties>
+                <xml-property name="description" value="Collection of zones" />
+            </xml-properties>
+            <xml-root-element name="zones" />
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="zone" name="zone" type="inventory.aai.openecomp.org.v9.Zone" />
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Zone">
+            <xml-root-element name="zone" />
+            <java-attributes>
+                <xml-element java-attribute="zoneId" name="zone-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Code assigned by AIC to the zone" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="zoneName" name="zone-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="English name associated with the zone" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="designType" name="design-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Design of zone [Medium/Largeā€¦]" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="zoneContext" name="zone-context" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Context of zone [production/test]" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="status" name="status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Status of a zone." />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Concurrency value" />
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.openecomp.org.v9.RelationshipList" />
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="A zone is a grouping of assets in a location homing to the same connections into the CBB" />
+                <xml-property name="nameProps" value="zone-name" />
+                <xml-property name="indexedProps" value="zone-id,design-type,zone-context" />
+                <xml-property name="uniqueProps" value="zone-id" />
+                <xml-property name="container" value="zones" />
+                <xml-property name="namespace" value="network" />
+            </xml-properties>
+        </java-type>
+
+    </java-types>
 </xml-bindings>