Move the aai-schema, annotations and 12/74612/6
authorKajur, Harish (vk250x) <vk250x@att.com>
Thu, 13 Dec 2018 13:37:13 +0000 (08:37 -0500)
committerKajur, Harish (vk250x) <vk250x@att.com>
Fri, 11 Jan 2019 21:05:35 +0000 (16:05 -0500)
schema generation code from the aai-common
repo to the schema service repo as aai-schema
should be in the schema service and all code
related to it such as generation of the schema
code should also be moved to the service

Issue-ID: AAI-2002
Change-Id: Ia792d5ae8822642b1816a0e9664bb21fa511e24f
Signed-off-by: Kajur, Harish (vk250x) <vk250x@att.com>
120 files changed:
aai-annotations/.gitignore [new file with mode: 0644]
aai-annotations/LICENSE.TXT [new file with mode: 0644]
aai-annotations/pom.xml [new file with mode: 0644]
aai-annotations/pom.xml.versionsBackup [new file with mode: 0644]
aai-annotations/src/main/java/org/onap/aai/annotations/Metadata.java [new file with mode: 0644]
aai-annotations/src/main/java/org/onap/aai/schema/enums/ObjectMetadata.java [new file with mode: 0644]
aai-annotations/src/main/java/org/onap/aai/schema/enums/PropertyMetadata.java [new file with mode: 0644]
aai-annotations/src/test/java/org/onap/aai/annotations/AnnotationsTest.java [new file with mode: 0644]
aai-schema-gen/pom.xml [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/AutoGenerateHtml.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/GenerateXsd.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/SchemaConfiguration.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/SpringContextAware.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/SwaggerGenerationConfiguration.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/ConfigTranslatorForDocs.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSet.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/DeleteOperation.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/EdgeDescription.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/GetOperation.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/HTMLfromOXM.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodeGetOperation.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXM.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/OxmFileProcessor.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/PatchOperation.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/PutOperation.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/PutRelationPathSet.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/XSDElement.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/XSDJavaType.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/YAMLfromOXM.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/Api.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/Definition.java [new file with mode: 0644]
aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/GenerateSwagger.java [new file with mode: 0644]
aai-schema-gen/src/main/resources/swagger.html.ftl [new file with mode: 0644]
aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java [new file with mode: 0644]
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java [new file with mode: 0644]
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java [new file with mode: 0644]
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java [new file with mode: 0644]
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java [new file with mode: 0644]
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java [new file with mode: 0644]
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java [new file with mode: 0644]
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java [new file with mode: 0644]
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java [new file with mode: 0644]
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java [new file with mode: 0644]
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java [new file with mode: 0644]
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java [new file with mode: 0644]
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java [new file with mode: 0644]
aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java [new file with mode: 0644]
aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java [new file with mode: 0644]
aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java [new file with mode: 0644]
aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java [new file with mode: 0644]
aai-schema-gen/src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json [new file with mode: 0644]
aai-schema-gen/src/test/resources/dbedgerules/DbEdgeRules_PrivateEdges.json [new file with mode: 0644]
aai-schema-gen/src/test/resources/dbedgerules/DbEdgeRules_TraversalQueryTest.json [new file with mode: 0644]
aai-schema-gen/src/test/resources/dbedgerules/DbEdgeRules_test.json [new file with mode: 0644]
aai-schema-gen/src/test/resources/dbedgerules/DbEdgeRules_test_broken.json [new file with mode: 0644]
aai-schema-gen/src/test/resources/dbedgerules/DbEdgerules_four.json [new file with mode: 0644]
aai-schema-gen/src/test/resources/dbedgerules/DbEdgerules_one.json [new file with mode: 0644]
aai-schema-gen/src/test/resources/dbedgerules/DbEdgerules_three.json [new file with mode: 0644]
aai-schema-gen/src/test/resources/dbedgerules/DbEdgerules_two.json [new file with mode: 0644]
aai-schema-gen/src/test/resources/dbedgerules/defaultEdgesTest.json [new file with mode: 0644]
aai-schema-gen/src/test/resources/dbedgerules/test.json [new file with mode: 0644]
aai-schema-gen/src/test/resources/dbedgerules/test2.json [new file with mode: 0644]
aai-schema-gen/src/test/resources/dbedgerules/test3.json [new file with mode: 0644]
aai-schema-gen/src/test/resources/oxm/business_oxm_v11.xml [new file with mode: 0644]
aai-schema-gen/src/test/resources/oxm/business_oxm_v12.xml [new file with mode: 0644]
aai-schema-gen/src/test/resources/oxm/business_oxm_v13.xml [new file with mode: 0644]
aai-schema-gen/src/test/resources/oxm/business_v11.xml [new file with mode: 0644]
aai-schema-gen/src/test/resources/oxm/common_oxm_v13.xml [new file with mode: 0644]
aai-schema-gen/src/test/resources/oxm/dbalias_oxm_four.xml [new file with mode: 0644]
aai-schema-gen/src/test/resources/oxm/dbalias_oxm_one.xml [new file with mode: 0644]
aai-schema-gen/src/test/resources/oxm/dbalias_oxm_three.xml [new file with mode: 0644]
aai-schema-gen/src/test/resources/oxm/dbalias_oxm_two.xml [new file with mode: 0644]
aai-schema-gen/src/test/resources/oxm/network_oxm_v13.xml [new file with mode: 0644]
aai-schema-gen/src/test/resources/oxm/serviceDesign_oxm_v13.xml [new file with mode: 0644]
aai-schema-gen/src/test/resources/schema-ingest.properties [new file with mode: 0644]
aai-schema-service/pom.xml
aai-schema/.gitignore [new file with mode: 0644]
aai-schema/LICENSE.TXT [new file with mode: 0644]
aai-schema/pom.xml [new file with mode: 0644]
aai-schema/pom.xml.versionsBackup [new file with mode: 0644]
aai-schema/src/main/resources/onap/aai_schema/aai_schema_v10.xsd [new file with mode: 0644]
aai-schema/src/main/resources/onap/aai_schema/aai_schema_v11.xsd [new file with mode: 0644]
aai-schema/src/main/resources/onap/aai_schema/aai_schema_v12.xsd [new file with mode: 0644]
aai-schema/src/main/resources/onap/aai_schema/aai_schema_v13.xsd [new file with mode: 0644]
aai-schema/src/main/resources/onap/aai_schema/aai_schema_v14.xsd [new file with mode: 0644]
aai-schema/src/main/resources/onap/aai_schema/aai_schema_v15.xsd [new file with mode: 0644]
aai-schema/src/main/resources/onap/aai_schema/aai_schema_v8.xsd [new file with mode: 0644]
aai-schema/src/main/resources/onap/aai_schema/aai_schema_v9.xsd [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v10/DbEdgeRules_v10.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v11/DbEdgeRules_esr_v11.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v11/DbEdgeRules_v11.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v12/DbEdgeRules_esr_v12.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v12/DbEdgeRules_hpa_v12.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v12/DbEdgeRules_v12.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v13/DbEdgeRules_esr_v13.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v13/DbEdgeRules_hpa_v13.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v13/DbEdgeRules_v13.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_esr_v14.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_hpa_v14.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_pnp_v14.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_v14.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_ccvpn_v15.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_esr_v15.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_hpa_v15.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_pnp_v15.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_v15.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v8/DbEdgeRules_v8.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/dbedgerules/v9/DbEdgeRules_v9.json [new file with mode: 0644]
aai-schema/src/main/resources/onap/oxm/v10/aai_oxm_v10.xml [new file with mode: 0644]
aai-schema/src/main/resources/onap/oxm/v11/aai_oxm_v11.xml [new file with mode: 0644]
aai-schema/src/main/resources/onap/oxm/v12/aai_oxm_v12.xml [new file with mode: 0644]
aai-schema/src/main/resources/onap/oxm/v13/aai_oxm_v13.xml [new file with mode: 0644]
aai-schema/src/main/resources/onap/oxm/v14/aai_oxm_v14.xml [new file with mode: 0644]
aai-schema/src/main/resources/onap/oxm/v15/aai_oxm_v15.xml [new file with mode: 0644]
aai-schema/src/main/resources/onap/oxm/v8/aai_oxm_v8.xml [new file with mode: 0644]
aai-schema/src/main/resources/onap/oxm/v9/aai_oxm_v9.xml [new file with mode: 0644]
aai-schema/src/main/xjb/bindings-onap.xjb [new file with mode: 0644]
aai-schema/src/test/java/org/onap/aai/schema/ValidateOXMTest.java [new file with mode: 0644]
pom.xml

diff --git a/aai-annotations/.gitignore b/aai-annotations/.gitignore
new file mode 100644 (file)
index 0000000..2f30844
--- /dev/null
@@ -0,0 +1,2 @@
+/bin/
+/.checkstyle
diff --git a/aai-annotations/LICENSE.TXT b/aai-annotations/LICENSE.TXT
new file mode 100644 (file)
index 0000000..3455862
--- /dev/null
@@ -0,0 +1,17 @@
+============LICENSE_START=======================================================
+org.onap.aai
+================================================================================
+Copyright © 2017-2018 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=========================================================
diff --git a/aai-annotations/pom.xml b/aai-annotations/pom.xml
new file mode 100644 (file)
index 0000000..178a51d
--- /dev/null
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>
+<!--
+
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 2017-2018 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=========================================================
+
+-->
+<project
+        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+        xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.onap.aai.schema-service</groupId>
+        <artifactId>schema-service</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>aai-annotations</artifactId>
+    <name>aai-annotations</name>
+    <packaging>jar</packaging>
+    <version>1.0.0-SNAPSHOT</version>
+    <properties>
+        <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>3.8.1</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-source-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-deploy-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.sonatype.plugins</groupId>
+                <artifactId>nexus-staging-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+
+    <!-- Plugins and repositories -->
+    <pluginRepositories>
+        <pluginRepository>
+            <id>central</id>
+            <url>http://repo1.maven.org/maven2</url>
+        </pluginRepository>
+        <pluginRepository>
+            <id>EvoSuite</id>
+            <name>EvoSuite Repository</name>
+            <url>http://www.evosuite.org/m2</url>
+        </pluginRepository>
+    </pluginRepositories>
+
+</project>
diff --git a/aai-annotations/pom.xml.versionsBackup b/aai-annotations/pom.xml.versionsBackup
new file mode 100644 (file)
index 0000000..1e03e0e
--- /dev/null
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>
+<!--
+
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 2017-2018 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=========================================================
+
+-->
+<project
+        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+        xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.onap.aai.aai-common</groupId>
+        <artifactId>aai-common</artifactId>
+        <version>1.3.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>aai-annotations</artifactId>
+    <name>aai-annotations</name>
+    <packaging>jar</packaging>
+    <version>1.3.1-SNAPSHOT</version>
+    <properties>
+        <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>3.8.1</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-source-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-deploy-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.sonatype.plugins</groupId>
+                <artifactId>nexus-staging-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
+
+    <!-- Plugins and repositories -->
+    <pluginRepositories>
+        <pluginRepository>
+            <id>central</id>
+            <url>http://repo1.maven.org/maven2</url>
+        </pluginRepository>
+        <pluginRepository>
+            <id>EvoSuite</id>
+            <name>EvoSuite Repository</name>
+            <url>http://www.evosuite.org/m2</url>
+        </pluginRepository>
+    </pluginRepositories>
+
+</project>
diff --git a/aai-annotations/src/main/java/org/onap/aai/annotations/Metadata.java b/aai-annotations/src/main/java/org/onap/aai/annotations/Metadata.java
new file mode 100644 (file)
index 0000000..d9e9f0f
--- /dev/null
@@ -0,0 +1,56 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.annotations;
+
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+
+@Retention(RUNTIME)
+@Target({ElementType.METHOD, ElementType.TYPE, ElementType.FIELD})
+public @interface Metadata {
+
+       boolean isKey() default false;
+       String description() default "";
+       String nameProps() default "";
+       String indexedProps() default "";
+       String dependentOn() default "";
+       String container() default "";
+       String namespace() default "";
+       String defaultValue() default "";
+       String searchable() default "";
+       String uniqueProps() default "";
+       String requiredProps() default "";
+       String uriTemplate() default "";
+       String extendsFrom() default "";
+       String isAbstract() default "";
+       String alternateKeys1() default "";
+       String maximumDepth() default "";
+       String crossEntityReference() default "";
+       String requires() default "";
+       String dbAlias() default ""; 
+       String dataLocation() default "";
+       String containsSuggestibleProps() default "";
+       String suggestionAliases() default "";
+       String sourceOfTruthType() default "";
+
+}
diff --git a/aai-annotations/src/main/java/org/onap/aai/schema/enums/ObjectMetadata.java b/aai-annotations/src/main/java/org/onap/aai/schema/enums/ObjectMetadata.java
new file mode 100644 (file)
index 0000000..39cfdec
--- /dev/null
@@ -0,0 +1,132 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schema.enums;
+
+public enum ObjectMetadata {
+
+       /**
+        * description of object
+        */
+       DESCRIPTION("description"),
+       /**
+        * names of properties to appear in relationship-lists
+        * and parent objects in DMaaP messages
+        * <br><b>comma separated list</b>
+        */
+       NAME_PROPS("nameProps"),
+       /**
+        * names of properties to be indexed in the
+        * db schema
+        * <br><b>comma separated list</b>
+        */
+       INDEXED_PROPS("indexedProps"),
+       /**
+        * name of the object this one depends on
+        */
+       DEPENDENT_ON("dependentOn"),
+       /**
+        * name of the object which contains this object
+        */
+       CONTAINER("container"),
+       /**
+        * the top level namespace to which this object belongs<br>
+        * <b>only valid on top level objects</b>
+        */
+       NAMESPACE("namespace"),
+       /**
+        * properties which are searchable via the GUI
+        * <br><b>comma separated list</b>
+        */
+       SEARCHABLE("searchable"),
+       /**
+        * properties marked as unique in the db schema
+        * <br><b>comma separated list</b>
+        */
+       UNIQUE_PROPS("uniqueProps"),
+       /**
+        * properties marked as required
+        * <br><b>comma separated list</b>
+        */
+       REQUIRED_PROPS("requiredProps"),
+       /**
+        * uri template for this object
+        */
+       URI_TEMPLATE("uriTemplate"),
+       /**
+        * abstract type from which this object extends
+        */
+       EXTENDS("extends"),
+       /**
+        * comma separated list of objects who inherit this object<br>
+        * <b>only valid on abstract objects</b>
+        */
+       INHERITORS("inheritors"),
+       /**
+        * a value of true marks this object as abstract
+        * abstract objects cannot be read/written directly
+        * they resolve to "or queries" when used in queries
+        */
+       ABSTRACT("abstract"),
+       /**
+        * comma separated list of properties which are alternate ways
+        * to identify this object
+        */
+       ALTERNATE_KEYS_1("alternateKeys1"),
+       /**
+        * the maximum allowable retrievable depth 
+        */
+       MAXIMUM_DEPTH("maximumDepth"),
+       /**
+        * collection of other objects to retrieve along with this one
+        *  <br><b>comma separated list</b>
+        */
+       CROSS_ENTITY_REFERENCE("crossEntityReference"),
+       /**
+        * Marks that this object can be linked to via dataLink 
+        */
+       CAN_BE_LINKED("canBeLinked"),
+       /**
+        * The entity contains properties that are suggestible
+        */
+       CONTAINS_SUGGESTIBLE_PROPS("containsSuggestibleProps"),
+       /**
+        * A list of aliases for the entity name (for AAI UI searches)
+        */
+       SUGGESTION_ALIASES("suggestionAliases"),
+       /**
+        * a value of true allows this object to be read directly
+        */
+       ALLOW_DIRECT_READ("allowDirectRead"),
+       /**
+        * a value of true allows this object to be written directly
+        */
+       ALLOW_DIRECT_WRITE("allowDirectWrite");
+       
+        private final String name;
+
+         private ObjectMetadata(String name) { 
+           this.name = name;
+         }
+
+         @Override public String toString() {
+           return name; 
+         }
+       
+}
diff --git a/aai-annotations/src/main/java/org/onap/aai/schema/enums/PropertyMetadata.java b/aai-annotations/src/main/java/org/onap/aai/schema/enums/PropertyMetadata.java
new file mode 100644 (file)
index 0000000..ac2c00b
--- /dev/null
@@ -0,0 +1,84 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schema.enums;
+
+public enum PropertyMetadata {
+
+       /**
+        * description of property
+        */
+       DESCRIPTION("description"),
+       /**
+        * default value of property
+        */
+       DEFAULT_VALUE("defaultValue"),
+       /**
+        * sets the property name used when writing to the db
+        */
+       DB_ALIAS("dbAlias"),
+       /**
+        * a URI which describes the location of a value to be
+        * written on a PUT
+        */
+       DATA_COPY("dataCopy"),
+       /**
+        * a URI which describes another object which backs this value
+        */
+       DATA_LINK("dataLink"),
+       /**
+        * 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
+        */
+       AUTO_GENERATE_UUID("autoGenerateUuid"),
+       /**
+        * Property is used for VNF searches in AAI UI
+        */
+       SUGGESTIBLE_ON_SEARCH("suggestibleOnSearch"),
+       /**
+        * An identifier that indicates which system is the master of this property data
+        */
+       SOURCE_OF_TRUTH_TYPE("sourceOfTruthType"),
+       /**
+        * makes property read only by version
+        */
+       READ_ONLY("readOnly"),
+       /**
+        * Add a private edge between two objects based on the uri provided by user which should provide
+        * the appropriate information from the url similar to dataCopy
+        */
+       PRIVATE_EDGE("privateEdge");
+       
+        private final String name;
+
+         private PropertyMetadata(String name) { 
+           this.name = name;
+         }
+
+         @Override public String toString() {
+           return name; 
+         }
+}
diff --git a/aai-annotations/src/test/java/org/onap/aai/annotations/AnnotationsTest.java b/aai-annotations/src/test/java/org/onap/aai/annotations/AnnotationsTest.java
new file mode 100644 (file)
index 0000000..a518e0c
--- /dev/null
@@ -0,0 +1,48 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.annotations;
+
+import org.onap.aai.annotations.Metadata;
+
+public class AnnotationsTest {
+
+    public AnnotationsTest() {
+    }
+
+    @Metadata(isKey = false,
+        description = "",
+        nameProps = "",
+        indexedProps = "",
+        dependentOn = "",
+        container = "",
+        namespace = "",
+        defaultValue = "",
+        searchable = "",
+        uniqueProps = "",
+        requiredProps = "",
+        uriTemplate = "",
+        extendsFrom = "",
+        isAbstract = "",
+        alternateKeys1 = "",
+        maximumDepth = "",
+        crossEntityReference = "")
+    public void testAnnotation() {
+    }
+}
diff --git a/aai-schema-gen/pom.xml b/aai-schema-gen/pom.xml
new file mode 100644 (file)
index 0000000..47179d9
--- /dev/null
@@ -0,0 +1,705 @@
+<?xml version="1.0"?>
+<!--
+
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 2017-2018 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=========================================================
+
+-->
+<project
+        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+        xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.onap.aai.schema-service</groupId>
+        <artifactId>schema-service</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>aai-schema-gen</artifactId>
+    <name>aai-schema-gen</name>
+    <version>1.0.0-SNAPSHOT</version>
+    <properties>
+        <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
+        <!-- Start of Default ONAP Schema Properties -->
+       <aai.wiki.link>https://wiki.onap.org/</aai.wiki.link>
+        <gendoc.version>v15</gendoc.version>
+        <aai.release>onap</aai.release>
+        <schema.uri.base.path>/aai</schema.uri.base.path>
+        <schema.xsd.maxoccurs>5000</schema.xsd.maxoccurs>
+        <schema.configuration.location>N/A</schema.configuration.location>
+        <schema.nodes.location>aai-schema/src/main/resources/${aai.release}/oxm</schema.nodes.location>
+        <schema.edges.location>aai-schema/src/main/resources/${aai.release}/dbedgerules</schema.edges.location>
+        <schema.version.depth.start>v10</schema.version.depth.start>
+        <schema.version.related.link.start>v10</schema.version.related.link.start>
+        <schema.version.app.root.start>v11</schema.version.app.root.start>
+        <schema.version.namespace.change.start>v12</schema.version.namespace.change.start>
+        <schema.version.edge.label.start>v12</schema.version.edge.label.start>
+        <schema.version.api.default>v15</schema.version.api.default>
+        <schema.version.list>v10,v11,v12,v13,v14,v15</schema.version.list>
+        <!-- End of Default ONAP Schema Properties -->
+    </properties>
+    <profiles>
+        <!-- Start of ONAP profile -->
+        <profile>
+            <id>onap</id>
+            <properties>
+                <aai.release>onap</aai.release>
+                <schema.xsd.maxoccurs>unbounded</schema.xsd.maxoccurs>
+                <schema.configuration.location>N/A</schema.configuration.location>
+                <schema.nodes.location>aai-schema/src/main/resources/${aai.release}/oxm</schema.nodes.location>
+                <schema.edges.location>aai-schema/src/main/resources/${aai.release}/dbedgerules</schema.edges.location>
+                <schema.version.depth.start>v10</schema.version.depth.start>
+                <schema.version.related.link.start>v10</schema.version.related.link.start>
+                <schema.version.app.root.start>v11</schema.version.app.root.start>
+                <schema.version.edge.label.start>v12</schema.version.edge.label.start>
+                <schema.version.namespace.change.start>v12</schema.version.namespace.change.start>
+                <schema.version.api.default>v15</schema.version.api.default>
+                <schema.version.list>v10,v11,v12,v13,v14,v15</schema.version.list>
+                <gendoc.version>v15</gendoc.version>
+            </properties>
+        </profile>
+        <!-- End of ONAP profile -->
+        <profile>
+            <id>generateXsd</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>exec-maven-plugin</artifactId>
+                        <version>1.1.1</version>
+                        <executions>
+                            <execution>
+                                <phase>process-classes</phase>
+                                <goals>
+                                    <goal>java</goal>
+                                </goals>
+                                <configuration>
+                                    <mainClass>org.onap.aai.schemagen.GenerateXsd</mainClass>
+                                    <systemProperties>
+                                        <systemProperty>
+                                            <key>gen_version</key>
+                                            <value>${gendoc.version}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>gen_type</key>
+                                            <value>XSD</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.xsd.maxoccurs</key>
+                                            <value>${schema.xsd.maxoccurs}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>yamlresponses_url</key>
+                                            <value></value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>yamlresponses_label</key>
+                                            <value></value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.configuration.location</key>
+                                            <value>${schema.configuration.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.nodes.location</key>
+                                            <value>${schema.nodes.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.edges.location</key>
+                                            <value>${schema.edges.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.list</key>
+                                            <value>${schema.version.list}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.depth.start</key>
+                                            <value>${schema.version.depth.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.depth.start</key>
+                                            <value>${schema.version.depth.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.related.link.start</key>
+                                            <value>${schema.version.related.link.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.app.root.start</key>
+                                            <value>${schema.version.app.root.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.edge.label.start</key>
+                                            <value>${schema.version.app.root.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.namespace.change.start</key>
+                                            <value>${schema.version.namespace.change.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.api.default</key>
+                                            <value>${schema.version.api.default}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.uri.base.path</key>
+                                            <value>${schema.uri.base.path}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>aai.release</key>
+                                            <value>${aai.release}</value>
+                                        </systemProperty>
+                                    </systemProperties>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>generateYaml</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>exec-maven-plugin</artifactId>
+                        <version>1.1.1</version>
+                        <executions>
+                            <execution>
+                                <phase>process-classes</phase>
+                                <goals>
+                                    <goal>java</goal>
+                                </goals>
+                                <configuration>
+                                    <mainClass>org.onap.aai.schemagen.GenerateXsd</mainClass>
+                                    <systemProperties>
+                                        <systemProperty>
+                                            <key>gen_version</key>
+                                            <value>${gendoc.version}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>gen_type</key>
+                                            <value>YAML</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>yamlresponses_url</key>
+                                            <value>https://wiki.web.att.com/pages/viewpage.action?pageId=607391054
+                                            </value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>yamlresponses_label</key>
+                                            <value>Response codes found in [response codes]</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.configuration.location</key>
+                                            <value>${schema.configuration.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.nodes.location</key>
+                                            <value>${schema.nodes.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.edges.location</key>
+                                            <value>${schema.edges.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.list</key>
+                                            <value>${schema.version.list}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.depth.start</key>
+                                            <value>${schema.version.depth.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.depth.start</key>
+                                            <value>${schema.version.depth.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.related.link.start</key>
+                                            <value>${schema.version.related.link.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.app.root.start</key>
+                                            <value>${schema.version.app.root.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.edge.label.start</key>
+                                            <value>${schema.version.app.root.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.namespace.change.start</key>
+                                            <value>${schema.version.namespace.change.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.api.default</key>
+                                            <value>${schema.version.api.default}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.uri.base.path</key>
+                                            <value>${schema.uri.base.path}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>aai.release</key>
+                                            <value>${aai.release}</value>
+                                        </systemProperty>
+                                    </systemProperties>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>generateHtml</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>exec-maven-plugin</artifactId>
+                        <version>1.1.1</version>
+                        <executions>
+                            <execution>
+                                <phase>process-classes</phase>
+                                <goals>
+                                    <goal>java</goal>
+                                </goals>
+                                <configuration>
+                                    <mainClass>org.onap.aai.schemagen.swagger.GenerateSwagger</mainClass>
+                                    <systemProperties>
+                                        <property>
+                                            <key>aai.generate.version</key>
+                                            <value>${gendoc.version}</value>
+                                        </property>
+                                        <property>
+                                            <key>aai.wiki.link</key>
+                                            <value>${aai.wiki.link}</value>
+                                        </property>
+                                        <systemProperty>
+                                            <key>schema.configuration.location</key>
+                                            <value>${schema.configuration.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.nodes.location</key>
+                                            <value>${schema.nodes.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.edges.location</key>
+                                            <value>${schema.edges.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.list</key>
+                                            <value>${schema.version.list}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.depth.start</key>
+                                            <value>${schema.version.depth.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.depth.start</key>
+                                            <value>${schema.version.depth.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.related.link.start</key>
+                                            <value>${schema.version.related.link.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.app.root.start</key>
+                                            <value>${schema.version.app.root.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.edge.label.start</key>
+                                            <value>${schema.version.app.root.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.namespace.change.start</key>
+                                            <value>${schema.version.namespace.change.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.api.default</key>
+                                            <value>${schema.version.api.default}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.uri.base.path</key>
+                                            <value>${schema.uri.base.path}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>aai.release</key>
+                                            <value>${aai.release}</value>
+                                        </systemProperty>
+                                    </systemProperties>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>autoGenerate</id>
+            <activation>
+                <property>
+                    <name>aai.generate.schema</name>
+                    <value>!false</value>
+                </property>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>exec-maven-plugin</artifactId>
+                        <version>1.1.1</version>
+                        <executions>
+                            <execution>
+                                <id>autoGenerateXsd</id>
+                                <phase>process-classes</phase>
+                                <goals>
+                                    <goal>java</goal>
+                                </goals>
+                                <configuration>
+                                    <mainClass>org.onap.aai.schemagen.GenerateXsd</mainClass>
+                                    <systemProperties>
+                                        <systemProperty>
+                                            <key>gen_version</key>
+                                            <value>ALL</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>gen_type</key>
+                                            <value>XSD</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.xsd.maxoccurs</key>
+                                            <value>${schema.xsd.maxoccurs}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>yamlresponses_url</key>
+                                            <value></value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>yamlresponses_label</key>
+                                            <value></value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.configuration.location</key>
+                                            <value>${schema.configuration.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.nodes.location</key>
+                                            <value>${schema.nodes.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.edges.location</key>
+                                            <value>${schema.edges.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.list</key>
+                                            <value>${schema.version.list}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.depth.start</key>
+                                            <value>${schema.version.depth.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.depth.start</key>
+                                            <value>${schema.version.depth.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.related.link.start</key>
+                                            <value>${schema.version.related.link.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.app.root.start</key>
+                                            <value>${schema.version.app.root.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.edge.label.start</key>
+                                            <value>${schema.version.app.root.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.namespace.change.start</key>
+                                            <value>${schema.version.namespace.change.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.api.default</key>
+                                            <value>${schema.version.api.default}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.uri.base.path</key>
+                                            <value>${schema.uri.base.path}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>aai.release</key>
+                                            <value>${aai.release}</value>
+                                        </systemProperty>
+                                    </systemProperties>
+                                </configuration>
+                            </execution>
+                            <execution>
+                                <id>autoGenerateYaml</id>
+                                <phase>process-classes</phase>
+                                <goals>
+                                    <goal>java</goal>
+                                </goals>
+                                <configuration>
+                                    <mainClass>org.onap.aai.schemagen.GenerateXsd</mainClass>
+                                    <systemProperties>
+                                        <systemProperty>
+                                            <key>gen_version</key>
+                                            <value>ALL</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>gen_type</key>
+                                            <value>YAML</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>yamlresponses_url</key>
+                                            <value>https://wiki.web.att.com/pages/viewpage.action?pageId=607391054
+                                            </value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>yamlresponses_label</key>
+                                            <value>Response codes found in [response codes]</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.configuration.location</key>
+                                            <value>${schema.configuration.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.nodes.location</key>
+                                            <value>${schema.nodes.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.edges.location</key>
+                                            <value>${schema.edges.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.list</key>
+                                            <value>${schema.version.list}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.depth.start</key>
+                                            <value>${schema.version.depth.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.depth.start</key>
+                                            <value>${schema.version.depth.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.related.link.start</key>
+                                            <value>${schema.version.related.link.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.app.root.start</key>
+                                            <value>${schema.version.app.root.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.edge.label.start</key>
+                                            <value>${schema.version.app.root.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.namespace.change.start</key>
+                                            <value>${schema.version.namespace.change.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.api.default</key>
+                                            <value>${schema.version.api.default}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>aai.release</key>
+                                            <value>${aai.release}</value>
+                                        </systemProperty>
+                                    </systemProperties>
+                                </configuration>
+                            </execution>
+                            <execution>
+                                <id>autoGenerateHtml</id>
+                                <phase>process-classes</phase>
+                                <goals>
+                                    <goal>java</goal>
+                                </goals>
+                                <configuration>
+                                    <mainClass>org.onap.aai.schemagen.AutoGenerateHtml</mainClass>
+                                    <systemProperties>
+                                        <property>
+                                            <key>aai.generate.version</key>
+                                            <value>${gendoc.version}</value>
+                                        </property>
+                                        <property>
+                                            <key>aai.wiki.link</key>
+                                            <value>${aai.wiki.link}</value>
+                                        </property>
+                                        <systemProperty>
+                                            <key>schema.configuration.location</key>
+                                            <value>${schema.configuration.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.nodes.location</key>
+                                            <value>${schema.nodes.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.edges.location</key>
+                                            <value>${schema.edges.location}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.list</key>
+                                            <value>${schema.version.list}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.depth.start</key>
+                                            <value>${schema.version.depth.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.depth.start</key>
+                                            <value>${schema.version.depth.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.related.link.start</key>
+                                            <value>${schema.version.related.link.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.app.root.start</key>
+                                            <value>${schema.version.app.root.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.edge.label.start</key>
+                                            <value>${schema.version.app.root.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.namespace.change.start</key>
+                                            <value>${schema.version.namespace.change.start}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>schema.version.api.default</key>
+                                            <value>${schema.version.api.default}</value>
+                                        </systemProperty>
+                                        <systemProperty>
+                                            <key>aai.release</key>
+                                            <value>${aai.release}</value>
+                                        </systemProperty>
+                                    </systemProperties>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.12</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.yaml</groupId>
+            <artifactId>snakeyaml</artifactId>
+            <version>1.18</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.aai.aai-common</groupId>
+            <artifactId>aai-schema-ingest</artifactId>
+            <version>1.4.0</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.freemarker</groupId>
+            <artifactId>freemarker</artifactId>
+            <version>2.3.21</version>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.dataformat</groupId>
+            <artifactId>jackson-dataformat-yaml</artifactId>
+            <version>2.2.3</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+            <version>3.7</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-text</artifactId>
+            <version>1.2</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.hamcrest</groupId>
+            <artifactId>java-hamcrest</artifactId>
+            <version>2.0.0.0</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.hamcrest</groupId>
+            <artifactId>hamcrest-core</artifactId>
+            <version>1.3</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-all</artifactId>
+            <version>1.10.19</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-source-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-site-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-deploy-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.sonatype.plugins</groupId>
+                <artifactId>nexus-staging-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>false</filtering>
+                <includes>
+                    <include>**/*</include>
+                </includes>
+            </resource>
+        </resources>
+    </build>
+
+    <!-- Start of ONAP Specific Repositories -->
+    <pluginRepositories>
+        <pluginRepository>
+            <id>central</id>
+            <url>http://repo1.maven.org/maven2</url>
+        </pluginRepository>
+        <pluginRepository>
+            <id>EvoSuite</id>
+            <name>EvoSuite Repository</name>
+            <url>http://www.evosuite.org/m2</url>
+        </pluginRepository>
+    </pluginRepositories>
+    <!-- End of ONAP Specific Repositories -->
+</project>
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/AutoGenerateHtml.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/AutoGenerateHtml.java
new file mode 100644 (file)
index 0000000..85ecfad
--- /dev/null
@@ -0,0 +1,79 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ *  Modifications Copyright © 2018 IBM.
+ * ================================================================================
+ * 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.onap.aai.schemagen;
+
+import freemarker.template.TemplateException;
+import org.onap.aai.schemagen.swagger.GenerateSwagger;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+import org.springframework.context.annotation.AnnotationConfigApplicationContext;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.List;
+import java.util.ListIterator;
+
+public class AutoGenerateHtml {
+
+    private static final String AAI_GENERATE_VERSION = "aai.generate.version";
+    public static final String DEFAULT_SCHEMA_DIR = "../aai-schema";
+    //if the program is run from aai-common, use this directory as default"
+    public static final String ALT_SCHEMA_DIR = "aai-schema";
+    //used to check to see if program is run from aai-schema-gen
+    public static final String DEFAULT_RUN_DIR = "aai-schema-gen";
+
+    public static void main(String[] args) throws IOException, TemplateException {
+        String savedProperty = System.getProperty(AAI_GENERATE_VERSION);
+
+        AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(
+            "org.onap.aai.setup",
+            "org.onap.aai.schemagen"
+        );
+
+
+        SchemaVersions schemaVersions = ctx.getBean(SchemaVersions.class);
+
+        List<SchemaVersion> versionsToGen = schemaVersions.getVersions();
+        Collections.sort(versionsToGen);
+        Collections.reverse(versionsToGen);
+        ListIterator<SchemaVersion> versionIterator = versionsToGen.listIterator();
+        String schemaDir;
+        if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains(DEFAULT_RUN_DIR)) {
+            schemaDir = ALT_SCHEMA_DIR;
+          }
+          else {
+              schemaDir = DEFAULT_SCHEMA_DIR;
+          }
+          String release = System.getProperty("aai.release", "onap");
+        while (versionIterator.hasNext()) {
+            System.setProperty(AAI_GENERATE_VERSION, versionIterator.next().toString());
+            String yamlFile = schemaDir + "/src/main/resources/" + release + "/aai_swagger_yaml/aai_swagger_" + System.getProperty(AAI_GENERATE_VERSION)+ ".yaml";
+            File swaggerYamlFile = new File(yamlFile);
+            if(swaggerYamlFile.exists()) {
+                GenerateSwagger.schemaVersions = schemaVersions;
+                GenerateSwagger.main(args);
+            }
+        }
+        System.setProperty(AAI_GENERATE_VERSION, savedProperty);
+    }
+}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/GenerateXsd.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/GenerateXsd.java
new file mode 100644 (file)
index 0000000..227df63
--- /dev/null
@@ -0,0 +1,318 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen;
+
+
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+import org.onap.aai.schemagen.genxsd.HTMLfromOXM;
+import org.onap.aai.schemagen.genxsd.NodesYAMLfromOXM;
+import org.onap.aai.schemagen.genxsd.YAMLfromOXM;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.annotation.AnnotationConfigApplicationContext;
+import org.w3c.dom.NodeList;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.*;
+
+public class GenerateXsd {
+
+       private static final Logger logger = LoggerFactory.getLogger("GenerateXsd.class");
+       protected static String apiVersion = null;
+       public static AnnotationConfigApplicationContext ctx = null;
+       static String apiVersionFmt = null;
+       static boolean useAnnotationsInXsd = false;
+       static String responsesUrl = null;
+       static String responsesLabel = null;
+       static String jsonEdges = null;
+       static Map<String, String> generatedJavaType;
+       static Map<String, String> appliedPaths;
+       static String RELEASE = System.getProperty("aai.release", "onap");
+
+
+       static NodeList javaTypeNodes;
+       static Map<String,String> javaTypeDefinitions = createJavaTypeDefinitions();
+    private static Map<String, String> createJavaTypeDefinitions()
+    {
+       StringBuffer aaiInternal = new StringBuffer();
+       Map<String,String> javaTypeDefinitions = new HashMap<String, String>();
+       aaiInternal.append("  aai-internal:\n");
+       aaiInternal.append("    properties:\n");
+       aaiInternal.append("      property-name:\n");
+       aaiInternal.append("        type: string\n");
+       aaiInternal.append("      property-value:\n");
+       aaiInternal.append("        type: string\n");
+//     javaTypeDefinitions.put("aai-internal", aaiInternal.toString());
+       return javaTypeDefinitions;
+    }
+
+       public static final int VALUE_NONE = 0;
+       public static final int VALUE_DESCRIPTION = 1;
+       public static final int VALUE_INDEXED_PROPS = 2;
+       public static final int VALUE_CONTAINER = 3;
+
+       private static final String generateTypeXSD = "xsd";
+       private static final String generateTypeYAML = "yaml";
+
+       private final static String nodeDir = System.getProperty("nodes.configuration.location");
+       private final static String edgeDir = System.getProperty("edges.configuration.location");
+       private static final String baseRoot = "aai-schema/";
+       private static final String baseAutoGenRoot = "aai-schema/";
+
+       private static final String root = baseRoot + "src/main/resources";
+       private static final String autoGenRoot = baseAutoGenRoot + "src/main/resources";
+
+       private static final String normalStartDir = "aai-schema-gen";
+       private static final String xsd_dir = root + "/" + RELEASE +"/aai_schema";
+
+       private static final String yaml_dir = (((System.getProperty("user.dir") != null) && (!System.getProperty("user.dir").contains(normalStartDir))) ? autoGenRoot : root) + "/" + RELEASE + "/aai_swagger_yaml";
+
+       /* These three strings are for yaml auto-generation from aai-common class*/
+
+       private static int swaggerSupportStartsVersion = 1; // minimum version to support swagger documentation
+
+
+       private static boolean validVersion(String versionToGen) {
+
+               if ("ALL".equalsIgnoreCase(versionToGen)) {
+                       return true;
+               }
+
+               SchemaVersions schemaVersions = SpringContextAware.getBean(SchemaVersions.class);
+               for (SchemaVersion v : schemaVersions.getVersions()) {
+               if (v.equals(versionToGen)) {
+                   return true;
+               }
+           }
+
+           return false;
+       }
+
+       private static boolean versionSupportsSwagger( String version) {
+               if (new Integer(version.substring(1)).intValue() >= swaggerSupportStartsVersion ) {
+                       return true;
+               }
+               return false;
+       }
+
+       public static String getAPIVersion() {
+               return apiVersion;
+       }
+
+       public static String getYamlDir() {
+               return yaml_dir;
+       }
+
+       public static String getResponsesUrl() {
+               return responsesUrl;
+       }
+       public static void main(String[] args) throws IOException {
+               String versionToGen = System.getProperty("gen_version").toLowerCase();
+               String fileTypeToGen = System.getProperty("gen_type").toLowerCase();
+
+               AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(
+                               "org.onap.aai.setup",
+            "org.onap.aai.schemagen"
+               );
+
+               SchemaVersions schemaVersions = ctx.getBean(SchemaVersions.class);
+
+               if ( fileTypeToGen == null ) {
+                       fileTypeToGen = generateTypeXSD;
+               }
+
+               if ( !fileTypeToGen.equals( generateTypeXSD ) && !fileTypeToGen.equals( generateTypeYAML )) {
+                       System.err.println("Invalid gen_type passed. " + fileTypeToGen);
+                       System.exit(1);
+               }
+
+               String responsesLabel = System.getProperty("yamlresponses_url");
+               responsesUrl = responsesLabel;
+
+               List<SchemaVersion> versionsToGen = new ArrayList<>();
+               if ( versionToGen == null ) {
+                       System.err.println("Version is required, ie v<n> or ALL.");
+                       System.exit(1);
+               }
+               else if (!"ALL".equalsIgnoreCase(versionToGen) && !versionToGen.matches("v\\d+") && !validVersion(versionToGen)) {
+                       System.err.println("Invalid version passed. " + versionToGen);
+                       System.exit(1);
+               }
+               else if ("ALL".equalsIgnoreCase(versionToGen)) {
+                       versionsToGen = schemaVersions.getVersions();
+                       Collections.sort(versionsToGen);
+                       Collections.reverse(versionsToGen);
+               } else {
+                       versionsToGen.add(new SchemaVersion(versionToGen));
+               }
+
+               //process file type System property
+               fileTypeToGen = (fileTypeToGen == null ? generateTypeXSD : fileTypeToGen.toLowerCase());
+               if ( !fileTypeToGen.equals( generateTypeXSD ) && !fileTypeToGen.equals( generateTypeYAML )) {
+                       System.err.println("Invalid gen_type passed. " + fileTypeToGen);
+                       System.exit(1);
+               } else if ( fileTypeToGen.equals(generateTypeYAML) ) {
+                       if ( responsesUrl == null || responsesUrl.length() < 1
+                                       || responsesLabel == null || responsesLabel.length() < 1 ) {
+                               System.err.println("generating swagger yaml file requires yamlresponses_url and yamlresponses_label properties" );
+                               System.exit(1);
+                       } else {
+                               responsesUrl = "description: "+ "Response codes found in [response codes]("+responsesLabel+ ").\n";
+                       }
+               }
+               /*
+                * TODO: Oxm Path is config driveb
+                */
+               String oxmPath;
+               if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains(normalStartDir)) {
+                       oxmPath = baseAutoGenRoot + nodeDir;
+               }
+               else {
+                       oxmPath = baseRoot + nodeDir;
+               }
+
+               String outfileName = null;
+               File outfile;
+               String nodesfileName = null;
+               File nodesfile;
+               String fileContent = null;
+               String nodesContent = null;
+
+
+               for (SchemaVersion v : versionsToGen) {
+                       apiVersion = v.toString();
+                       logger.debug("YAMLdir = "+yaml_dir);
+                       logger.debug("Generating " + apiVersion + " " + fileTypeToGen);
+                       apiVersionFmt = "." + apiVersion + ".";
+                       generatedJavaType = new HashMap<String, String>();
+                       appliedPaths = new HashMap<String, String>();
+                       File edgeRuleFile = null;
+                       String fileName = edgeDir + "DbEdgeRules_" + apiVersion + ".json";
+                       logger.debug("user.dir = "+System.getProperty("user.dir"));
+                       if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains(normalStartDir)) {
+                               fileName = baseAutoGenRoot + fileName;
+
+                       }
+                       else {
+                               fileName = baseRoot + fileName;
+
+                       }
+                       edgeRuleFile = new File( fileName);
+//                     Document doc = ni.getSchema(translateVersion(v));
+
+                       if ( fileTypeToGen.equals(generateTypeXSD) ) {
+                               outfileName = xsd_dir + "/aai_schema_" + apiVersion + "." + generateTypeXSD;
+                               try {
+                                       HTMLfromOXM swagger = ctx.getBean(HTMLfromOXM.class);
+                                       swagger.setVersion(v);
+                                       fileContent = swagger.process();
+                                       if ( fileContent.startsWith("Schema format issue")) {
+                                               throw new Exception(fileContent);
+                                       }
+                               } catch(Exception e) {
+                               logger.error( "Exception creating output file " + outfileName);
+                               logger.error( e.getMessage());
+                               e.printStackTrace();
+                               System.exit(-1);
+                               }
+                       } else if ( versionSupportsSwagger(apiVersion )) {
+                               outfileName = yaml_dir + "/aai_swagger_" + apiVersion + "." + generateTypeYAML;
+                               nodesfileName = yaml_dir + "/aai_swagger_" + apiVersion + "." + "nodes"+"."+generateTypeYAML;
+                               try {
+                                       YAMLfromOXM swagger = (YAMLfromOXM) ctx.getBean(YAMLfromOXM.class);
+                                       swagger.setVersion(v);
+                                       fileContent = swagger.process();
+                                       Map combinedJavaTypes = swagger.getCombinedJavaTypes();
+                                       NodesYAMLfromOXM nodesSwagger = ctx.getBean(NodesYAMLfromOXM.class);
+                                       nodesSwagger.setVersion(v);
+                                       nodesSwagger.setCombinedJavaTypes(combinedJavaTypes);
+                                       nodesContent = nodesSwagger.process();
+                               } catch(Exception e) {
+                               logger.error( "Exception creating output file " + outfileName);
+                               e.printStackTrace();
+                               }
+                       } else {
+                               continue;
+                       }
+                       outfile = new File(outfileName);
+                       File parentDir = outfile.getParentFile();
+                       if(! parentDir.exists())
+                             parentDir.mkdirs();
+                       if(nodesfileName != null) {
+                               BufferedWriter nodesBW = null;
+                               nodesfile = new File(nodesfileName);
+                               parentDir = nodesfile.getParentFile();
+                               if(! parentDir.exists())
+                                     parentDir.mkdirs();
+                           try {
+                               nodesfile.createNewFile();
+                           } catch (IOException e) {
+                               logger.error( "Exception creating output file " + nodesfileName);
+                               e.printStackTrace();
+                           }
+                       try {
+                               Charset charset = Charset.forName("UTF-8");
+                               Path path = Paths.get(nodesfileName);
+                               nodesBW = Files.newBufferedWriter(path, charset);
+                               nodesBW.write(nodesContent);
+                       } catch ( IOException e) {
+                               logger.error( "Exception writing output file " + outfileName);
+                               e.printStackTrace();
+                       } finally {
+                               if ( nodesBW != null ) {
+                                       nodesBW.close();
+                               }
+                       }
+                       }
+
+                   try {
+                       outfile.createNewFile();
+                   } catch (IOException e) {
+                       logger.error( "Exception creating output file " + outfileName);
+                       e.printStackTrace();
+                   }
+                   BufferedWriter bw = null;
+               try {
+                       Charset charset = Charset.forName("UTF-8");
+                       Path path = Paths.get(outfileName);
+                       bw = Files.newBufferedWriter(path, charset);
+                       bw.write(fileContent);
+               } catch ( IOException e) {
+                       logger.error( "Exception writing output file " + outfileName);
+                       e.printStackTrace();
+               } finally {
+                       if ( bw != null ) {
+                               bw.close();
+                       }
+               }
+                       logger.debug( "GeneratedXSD successful, saved in " + outfileName);
+               }
+
+       }
+
+}
+
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/SchemaConfiguration.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/SchemaConfiguration.java
new file mode 100644 (file)
index 0000000..26ff4b6
--- /dev/null
@@ -0,0 +1,50 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Modifications Copyright © 2018 IBM.
+ * ================================================================================
+ * 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.onap.aai.schemagen;
+
+import org.onap.aai.edges.EdgeIngestor;
+import org.onap.aai.nodes.NodeIngestor;
+import org.onap.aai.setup.AAIConfigTranslator;
+import org.onap.aai.setup.ConfigTranslator;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersions;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class SchemaConfiguration {
+
+    @Bean
+    public EdgeIngestor edgeIngestor(SchemaLocationsBean schemaLocationsBean, SchemaVersions schemaVersions){
+        return new EdgeIngestor(configTranslator(schemaLocationsBean, schemaVersions), schemaVersions);
+    }
+
+    @Bean(name = "nodeIngestor")
+    public NodeIngestor nodeIngestor(ConfigTranslator configTranslator) {
+        return new NodeIngestor(configTranslator);
+    }
+
+    @Bean(name = "configTranslator")
+    public ConfigTranslator configTranslator(SchemaLocationsBean schemaLocationsBean, SchemaVersions schemaVersions) {
+        return new AAIConfigTranslator(schemaLocationsBean, schemaVersions);
+    }
+}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/SpringContextAware.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/SpringContextAware.java
new file mode 100644 (file)
index 0000000..48cd46d
--- /dev/null
@@ -0,0 +1,64 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen;
+
+
+import org.springframework.beans.BeansException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+
+@Component
+public class SpringContextAware implements ApplicationContextAware {
+
+    private static ApplicationContext context = null;
+
+    public static ApplicationContext getApplicationContext() {
+       return context;
+    }
+
+    @Override
+    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+       context = applicationContext;
+    }
+
+
+       public static <T> T getBean(String beanName, Class<T> requiredType) {
+               if(context != null){
+                       return context.getBean(beanName, requiredType);
+                }
+        return null;
+       }
+
+       public static <T> T getBean(Class<T> clazz){
+        if(context != null){
+            return context.getBean(clazz);
+        }
+        return null;
+    }
+
+    public static Object getBean(String bean){
+        if(context != null){
+            return context.getBean(bean);
+        }
+        return null;
+    }
+
+}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/SwaggerGenerationConfiguration.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/SwaggerGenerationConfiguration.java
new file mode 100644 (file)
index 0000000..e479328
--- /dev/null
@@ -0,0 +1,64 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Modifications Copyright © 2018 IBM.
+ * ================================================================================
+ * 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.onap.aai.schemagen;
+
+
+import org.onap.aai.edges.EdgeIngestor;
+import org.onap.aai.nodes.NodeIngestor;
+import org.onap.aai.setup.SchemaVersions;
+import org.onap.aai.schemagen.genxsd.HTMLfromOXM;
+import org.onap.aai.schemagen.genxsd.NodesYAMLfromOXM;
+import org.onap.aai.schemagen.genxsd.YAMLfromOXM;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.beans.factory.config.ConfigurableBeanFactory;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Scope;
+
+@Configuration
+public class SwaggerGenerationConfiguration {
+
+    @Value("${schema.uri.base.path}")
+    private String basePath;
+
+    @Value("${schema.xsd.maxoccurs:5000}")
+    private String maxOccurs;
+
+    @Bean
+    @Scope(scopeName = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
+    public NodesYAMLfromOXM nodesYamlFromOXM(SchemaVersions schemaVersions, NodeIngestor nodeIngestor, EdgeIngestor edgeIngestor) {
+        return new NodesYAMLfromOXM(basePath, schemaVersions, nodeIngestor, edgeIngestor);
+    }
+
+    @Bean
+    @Scope(scopeName = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
+    public HTMLfromOXM htmlFromOXM(SchemaVersions schemaVersions, NodeIngestor nodeIngestor, EdgeIngestor edgeIngestor) {
+        return new HTMLfromOXM(maxOccurs, schemaVersions, nodeIngestor, edgeIngestor);
+    }
+
+    @Bean
+    @Scope(scopeName = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
+    public YAMLfromOXM yamlFromOXM(SchemaVersions schemaVersions, NodeIngestor nodeIngestor, EdgeIngestor edgeIngestor) {
+        return new YAMLfromOXM(basePath, schemaVersions, nodeIngestor, edgeIngestor);
+    }
+
+}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/ConfigTranslatorForDocs.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/ConfigTranslatorForDocs.java
new file mode 100644 (file)
index 0000000..217aa4e
--- /dev/null
@@ -0,0 +1,81 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.onap.aai.setup.ConfigTranslator;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.util.*;
+
+public class ConfigTranslatorForDocs extends ConfigTranslator {
+
+       public ConfigTranslatorForDocs(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
+               super(bean, schemaVersions);
+       }
+
+       @Override
+       public Map<SchemaVersion, List<String>> getNodeFiles() {
+               List<SchemaVersion> versionsToGen = new ArrayList<>();
+               versionsToGen = schemaVersions.getVersions();
+               Collections.sort(versionsToGen);
+               Collections.reverse(versionsToGen);
+               Map<SchemaVersion, List<String>> mp = new TreeMap<>();
+               for (SchemaVersion v : versionsToGen) {
+                       File dir = new File(bean.getNodeDirectory() + File.separator + v.toString().toLowerCase());
+                       File [] fileSet = dir.listFiles();
+                       List<String> files = new ArrayList<>();
+                       for(File f: fileSet ) {
+                               files.add(f.getAbsolutePath());
+                       }
+
+                       mp.put(v, files);
+               }
+               return mp;
+       }
+
+       @Override
+       public Map<SchemaVersion, List<String>> getEdgeFiles() {
+               List<SchemaVersion> versionsToGen = new ArrayList<>();
+               versionsToGen = schemaVersions.getVersions();
+               Collections.sort(versionsToGen);
+               Collections.reverse(versionsToGen);
+               Map<SchemaVersion, List<String>> mp = new TreeMap<>();
+               for (SchemaVersion v : versionsToGen) {
+                       File dir = new File(bean.getEdgeDirectory());
+                       File [] fileSet = dir.listFiles(new FilenameFilter() {
+                               @Override
+                               public boolean accept(File dir, String name) {
+                                       return name.contains("_"+v.toString().toLowerCase());
+                               }
+                       });
+                       List<String> files = new ArrayList<>();
+                       for(File f: fileSet ) {
+                               files.add(f.getAbsolutePath());
+                       }
+                       mp.put(v, files);
+               }
+               return mp;
+       }
+}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSet.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSet.java
new file mode 100644 (file)
index 0000000..7efaed9
--- /dev/null
@@ -0,0 +1,57 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import java.util.Set;
+import java.util.TreeSet;
+
+public class DeleteFootnoteSet {
+       protected Set<String> footnotes = new TreeSet<>();
+       protected String targetNode = "<NodeType>";
+       public DeleteFootnoteSet(String targetNode) {
+               super();
+               this.targetNode = targetNode == null ? "" : targetNode;
+       }
+
+       public void add(String s ) {
+               String fullnote=null;
+               if("(1)".equals(s)) {
+                       fullnote = s+" IF this "+targetNode.toUpperCase()+" node is deleted, this FROM node is DELETED also";
+               } else if("(2)".equals(s)) {
+                       fullnote = s+" IF this "+targetNode.toUpperCase()+" node is deleted, this TO node is DELETED also";
+               } else if("(3)".equals(s)) {
+                       fullnote = s+" IF this FROM node is deleted, this "+targetNode.toUpperCase()+" is DELETED also";
+               } else if("(4)".equals(s)) {
+                       fullnote = s+" IF this TO node is deleted, this "+targetNode.toUpperCase()+" is DELETED also";
+               } else if(s.contains(targetNode.toUpperCase())) {
+                       fullnote = s;
+               } else {
+                       return;
+               }
+               footnotes.add(fullnote);
+       }
+
+       public String toString() {
+               StringBuilder sb = new StringBuilder();
+               if(footnotes.size() > 0) sb.append("\n      -");
+               sb.append(String.join("\n      -", footnotes)+"\n");
+               return sb.toString();
+       }
+}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/DeleteOperation.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/DeleteOperation.java
new file mode 100644 (file)
index 0000000..e1d993f
--- /dev/null
@@ -0,0 +1,106 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.apache.commons.lang3.StringUtils;
+import org.onap.aai.schemagen.GenerateXsd;
+
+import java.util.HashMap;
+import java.util.StringTokenizer;
+
+public class DeleteOperation {
+       private String useOpId;
+       private String xmlRootElementName;
+       private String tag;
+       private String path;
+       private String pathParams;
+
+       public static HashMap<String, String> deletePaths = new HashMap<String, String>();
+               public DeleteOperation(String useOpId, String xmlRootElementName, String tag, String path, String pathParams) {
+                       super();
+                       this.useOpId = useOpId;
+                       this.xmlRootElementName = xmlRootElementName;
+                       this.tag = tag;
+                       this.path = path;
+                       this.pathParams = pathParams;
+               }
+               @Override
+               public String toString() {
+                       StringTokenizer st;
+                       st = new StringTokenizer(path, "/");
+                       //a valid tag is necessary
+                       if ( StringUtils.isEmpty(tag) ) {
+                               return "";
+                       }
+                       if ( path.contains("/relationship/") ) { // filter paths with relationship-list
+                               return "";
+                       }
+                       if ( path.endsWith("/relationship-list")) {
+                               return "";
+                       }
+                       if ( path.startsWith("/search")) {
+                               return "";
+                       }
+                       //All Delete operation paths end with "relationship"
+                       //or there is a parameter at the end of the path
+                       //and there is a parameter in the path
+
+                       if ( !path.endsWith("/relationship")  &&  !path.endsWith("}") ) {
+                               return "";
+                       }
+                       StringBuffer pathSb = new StringBuffer();
+                       pathSb.append("    delete:\n");
+                       pathSb.append("      tags:\n");
+                       pathSb.append("        - " + tag + "\n");
+                       pathSb.append("      summary: delete an existing " + xmlRootElementName + "\n");
+
+                       pathSb.append("      description: delete an existing " + xmlRootElementName + "\n");
+
+                       pathSb.append("      operationId: delete" + useOpId + "\n");
+                       pathSb.append("      consumes:\n");
+                       pathSb.append("        - application/json\n");
+                       pathSb.append("        - application/xml\n");
+                       pathSb.append("      produces:\n");
+                       pathSb.append("        - application/json\n");
+                       pathSb.append("        - application/xml\n");
+                       pathSb.append("      responses:\n");
+                       pathSb.append("        \"default\":\n");
+                       pathSb.append("          " + GenerateXsd.getResponsesUrl());
+                       pathSb.append("      parameters:\n");
+
+                       pathSb.append(pathParams); // for nesting
+                       if ( !path.endsWith("/relationship") ) {
+                               pathSb.append("        - name: resource-version\n");
+
+                               pathSb.append("          in: query\n");
+                               pathSb.append("          description: resource-version for concurrency\n");
+                               pathSb.append("          required: true\n");
+                               pathSb.append("          type: string\n");
+                       }
+                       this.objectPathMapEntry();
+                       return pathSb.toString();
+               }
+               public String objectPathMapEntry() {
+                       if (! path.endsWith("/relationship") ) {
+                               deletePaths.put(path, xmlRootElementName);
+                       }
+                       return (xmlRootElementName+":"+path);
+               }
+       }
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/EdgeDescription.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/EdgeDescription.java
new file mode 100644 (file)
index 0000000..f472896
--- /dev/null
@@ -0,0 +1,196 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.apache.commons.lang3.StringUtils;
+import org.onap.aai.edges.EdgeRule;
+import org.onap.aai.edges.enums.AAIDirection;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class EdgeDescription {
+
+       private static final Logger logger = LoggerFactory.getLogger("EdgeDescription.class");
+       EdgeRule ed;
+       public static enum LineageType {
+               PARENT, CHILD, UNRELATED;
+       }
+       private String ruleKey;
+//     private String to;
+//     private String from;
+       private LineageType lineageType = LineageType.UNRELATED;
+//     private String direction;
+//     private String multiplicity;
+//     private String preventDelete;
+//     private String deleteOtherV;
+//     private String label;
+//     private String description;
+
+       public EdgeDescription(EdgeRule ed) {
+               super();
+               if ( ed.getDirection().toString().equals(ed.getContains()) &&
+                               AAIDirection.getValue("OUT").equals(AAIDirection.getValue(ed.getDirection())))  {
+                       this.lineageType= LineageType.PARENT;
+               } else if ( AAIDirection.getValue("IN").equals(AAIDirection.getValue(ed.getContains())) &&
+                               ed.getDirection().toString().equals(ed.getContains())) {
+                       this.lineageType= LineageType.CHILD;
+               } else if ( AAIDirection.getValue("OUT").equals(AAIDirection.getValue(ed.getContains())) &&
+                               AAIDirection.getValue("IN").equals(AAIDirection.getValue(ed.getDirection()))) {
+                       this.lineageType= LineageType.PARENT;
+               } else if ( AAIDirection.getValue("IN").equals(AAIDirection.getValue(ed.getContains())) &&
+                               AAIDirection.getValue("OUT").equals(AAIDirection.getValue(ed.getDirection()))) {
+                       this.lineageType= LineageType.PARENT;
+               } else {
+                       this.lineageType= LineageType.UNRELATED;
+               }
+               this.ruleKey = ed.getFrom()+"|"+ed.getTo();
+               this.ed=ed;
+       }
+       /**
+        * @return the deleteOtherV
+        */
+       public String getDeleteOtherV() {
+               return ed.getDeleteOtherV();
+       }
+       /**
+        * @return the preventDelete
+        */
+       public String getPreventDelete() {
+               return ed.getPreventDelete();
+       }
+       public String getAlsoDeleteFootnote(String targetNode) {
+               String returnVal = "";
+               if(ed.getDeleteOtherV().equals("IN") && ed.getTo().equals(targetNode) ) {
+                       logger.debug("Edge: "+this.ruleKey);
+                       logger.debug("IF this "+targetNode+" node is deleted, this FROM node is DELETED also");
+                       returnVal = "(1)";
+               }
+               if(ed.getDeleteOtherV().equals("OUT") && ed.getFrom().equals(targetNode) ) {
+                       logger.debug("Edge: "+this.ruleKey);
+                       logger.debug("IF this "+targetNode+" is deleted, this TO node is DELETED also");
+                       returnVal = "(2)";
+               }
+               if(ed.getDeleteOtherV().equals("OUT") && ed.getTo().equals(targetNode) ) {
+                       logger.debug("Edge: "+this.ruleKey);
+                       logger.debug("IF this FROM node is deleted, this "+targetNode+" is DELETED also");
+                       returnVal = "(3)";
+               }
+               if(ed.getDeleteOtherV().equals("IN") && ed.getFrom().equals(targetNode) ) {
+                       logger.debug("Edge: "+this.ruleKey);
+                       logger.debug("IF this TO node is deleted, this "+targetNode+" node is DELETED also");
+                       returnVal = "(4)";
+               }
+               return returnVal;
+       }
+       /**
+        * @return the to
+        */
+       public String getTo() {
+               return ed.getTo();
+       }
+       /**
+        * @return the from
+        */
+       public String getFrom() {
+               return ed.getFrom();
+       }
+       public String getRuleKey() {
+               return ruleKey;
+       }
+       public String getMultiplicity() {
+               return ed.getMultiplicityRule().toString();
+       }
+       public AAIDirection getDirection() {
+               return AAIDirection.getValue(ed.getDirection());
+       }
+       public String getDescription() {
+               return ed.getDescription();
+       }
+       public String getRelationshipDescription(String fromTo, String otherNodeName) {
+
+               String result = "";
+
+               if ("FROM".equals(fromTo)) {
+                       if (AAIDirection.getValue("OUT").equals(AAIDirection.getValue(ed.getDirection()))) {
+                               if (LineageType.PARENT == lineageType) {
+                                       result = " (PARENT of "+otherNodeName;
+                                       result = String.join(" ", result+",", ed.getFrom(), this.getShortLabel(), ed.getTo()+",", this.getMultiplicity());
+                               }
+                       }
+                       else {
+                               if (LineageType.CHILD == lineageType) {
+                                       result = " (CHILD of "+otherNodeName;
+                                       result = String.join(" ", result+",",  ed.getFrom(), this.getShortLabel(), ed.getTo()+",", this.getMultiplicity());
+                               }
+                               else if (LineageType.PARENT == lineageType) {
+                                       result = " (PARENT of "+otherNodeName;
+                                       result = String.join(" ", result+",", ed.getFrom(), this.getShortLabel(), ed.getTo()+",", this.getMultiplicity());
+                               }
+                       }
+                       if (result.length() == 0) result = String.join(" ", "(", ed.getFrom(), this.getShortLabel(), ed.getTo()+",", this.getMultiplicity());
+               } else {
+               //if ("TO".equals(fromTo)
+                       if (AAIDirection.getValue("OUT").equals(AAIDirection.getValue(ed.getDirection()))) {
+                               if (LineageType.PARENT == lineageType) {
+                                       result = " (PARENT of "+otherNodeName;
+                                       result = String.join(" ", result+",", ed.getFrom(), this.getShortLabel(), ed.getTo()+",", this.getMultiplicity());
+                               }
+                       } else {
+                               if (LineageType.PARENT == lineageType) {
+                                       result = " (PARENT of "+otherNodeName;
+                                       result = String.join(" ", result+",", ed.getFrom(), this.getShortLabel(), ed.getTo()+",", this.getMultiplicity());
+                               }
+                       }
+                       if (result.length() == 0) result = String.join(" ", "(", ed.getFrom(), this.getShortLabel(), ed.getTo()+",", this.getMultiplicity());
+               }
+
+               if (result.length() > 0) result = result + ")";
+
+               if (ed.getDescription() != null && ed.getDescription().length() > 0) result = result + "\n      "+ ed.getDescription(); // 6 spaces is important for yaml
+
+               return result;
+       }
+
+       /**
+        * @return the hasDelTarget
+        */
+
+       public boolean hasDelTarget() {
+               return StringUtils.isNotEmpty(ed.getDeleteOtherV()) && (! "NONE".equalsIgnoreCase(ed.getDeleteOtherV()));
+       }
+
+       /**
+        * @return the type
+        */
+       public LineageType getType() {
+
+               return lineageType;
+       }
+       /**
+        * @return the label
+        */
+       public String getLabel() {
+               return ed.getLabel();
+       }
+       public String getShortLabel() {
+               String[] pieces = this.getLabel().split("[.]");
+               return pieces[pieces.length-1];
+       }
+}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/GetOperation.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/GetOperation.java
new file mode 100644 (file)
index 0000000..f2f0d63
--- /dev/null
@@ -0,0 +1,121 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.apache.commons.lang3.StringUtils;
+import org.onap.aai.schemagen.GenerateXsd;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.StringTokenizer;
+import java.util.Vector;
+
+public class GetOperation {
+       static Map<String, Vector<String>> containers = new HashMap<String, Vector<String>>();
+       public static void addContainerProps(String container, Vector<String> containerProps) {
+               containers.put(container, containerProps);;
+       }
+       private String useOpId;
+       private String xmlRootElementName;
+       private String tag;
+       private String path;
+       private String pathParams;
+       private String queryParams;
+
+               public GetOperation(String useOpId, String xmlRootElementName, String tag, String path, String pathParams) {
+                       super();
+                       this.useOpId = useOpId;
+                       this.xmlRootElementName = xmlRootElementName;
+                       this.tag = tag;
+                       this.path = path;
+                       this.pathParams = pathParams;
+//                     StringBuilder p = new StringBuilder();
+
+                       if(containers.get(xmlRootElementName) == null) {
+                               this.queryParams = "";
+                       } else {
+                               this.queryParams= String.join("", containers.get(xmlRootElementName));
+//                             for(String param : containers.get(xmlRootElementName)) {
+//                                     p.append(param);
+//                             }
+//                             this.queryParams = p.toString();
+                       }
+               }
+               @Override
+               public String toString() {
+                       StringTokenizer st;
+                       st = new StringTokenizer(path, "/");
+                       //Path has to be longer than one element
+                       /*
+                       if ( st.countTokens() <= 1) {
+                               return "";
+                       }
+                       */
+                       //a valid tag is necessary
+                       if ( StringUtils.isEmpty(tag) ) {
+                               return "";
+                       }
+                       if ( path.endsWith("/relationship") ) {
+                               return "";
+                       }
+                       if ( path.contains("/relationship/") ) { // filter paths with relationship-list
+                               return "";
+                       }
+                       if ( path.endsWith("/relationship-list")) {
+                               return "";
+                       }
+                       if ( path.startsWith("/search")) {
+                               return "";
+                       }
+                       StringBuffer pathSb = new StringBuffer();
+                       pathSb.append("  " + path + ":\n" );
+                       pathSb.append("    get:\n");
+                       pathSb.append("      tags:\n");
+                       pathSb.append("        - " + tag + "\n");
+                       pathSb.append("      summary: returns " + xmlRootElementName + "\n");
+
+                       pathSb.append("      description: returns " + xmlRootElementName + "\n");
+                       pathSb.append("      operationId: get" + useOpId + "\n");
+                       pathSb.append("      produces:\n");
+                       pathSb.append("        - application/json\n");
+                       pathSb.append("        - application/xml\n");
+
+                       pathSb.append("      responses:\n");
+                       pathSb.append("        \"200\":\n");
+                       pathSb.append("          description: successful operation\n");
+                       pathSb.append("          schema:\n");
+                       pathSb.append("              $ref: \"#/getDefinitions/" + xmlRootElementName + "\"\n");
+                       pathSb.append("        \"default\":\n");
+                       pathSb.append("          " + GenerateXsd.getResponsesUrl());
+                       if ( StringUtils.isNotEmpty(pathParams) || StringUtils.isNotEmpty(queryParams)) {
+                               pathSb.append("      parameters:\n");
+                       }
+                       if ( StringUtils.isNotEmpty(pathParams)) {
+                               pathSb.append(pathParams);
+                       }
+//                     if ( StringUtils.isNotEmpty(pathParams) && StringUtils.isNotEmpty(queryParams)) {
+//                             pathSb.append("\n");
+//                     }
+                       if ( StringUtils.isNotEmpty(queryParams)) {
+                               pathSb.append(queryParams);
+                       }
+                       return pathSb.toString();
+               }
+       }
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/HTMLfromOXM.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/HTMLfromOXM.java
new file mode 100644 (file)
index 0000000..2af0662
--- /dev/null
@@ -0,0 +1,283 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.onap.aai.edges.EdgeIngestor;
+import org.onap.aai.edges.exceptions.EdgeRuleNotFoundException;
+import org.onap.aai.nodes.NodeIngestor;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+import javax.xml.parsers.ParserConfigurationException;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+public class HTMLfromOXM extends OxmFileProcessor {
+
+       private static final Logger logger = LoggerFactory.getLogger("HTMLfromOXM.class");
+
+       private String maxOccurs;
+
+       public HTMLfromOXM(String maxOccurs, SchemaVersions schemaVersions, NodeIngestor ni, EdgeIngestor ei ){
+               super(schemaVersions, ni,ei);
+               this.maxOccurs = maxOccurs;
+       }
+       public void setOxmVersion(File oxmFile, SchemaVersion v) {
+               super.setOxmVersion(oxmFile, v);
+               this.v = v;
+       }
+       public void setXmlVersion(String xml, SchemaVersion v) {
+               super.setXmlVersion(xml, v);
+               this.v = v;
+       }
+       public void setVersion(SchemaVersion v) {
+               super.setVersion(v);
+               this.v = v;
+       }
+
+
+       @Override
+       public String getDocumentHeader() {
+               StringBuffer sb = new StringBuffer();
+               logger.trace("processing starts");
+               sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" + LINE_SEPARATOR);
+               String namespace = "org.onap";
+               if (v.compareTo(getSchemaVersions().getNamespaceChangeVersion()) < 0 ) {
+                       namespace = "org.openecomp";
+               }
+               if ( versionUsesAnnotations(v.toString()) ) {
+                       sb.append("<xs:schema elementFormDefault=\"qualified\" version=\"1.0\" targetNamespace=\"http://" + namespace + ".aai.inventory/"
+                               + v.toString() + "\" xmlns:tns=\"http://" + namespace + ".aai.inventory/" + v.toString() + "\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\""
+                                               + LINE_SEPARATOR
+                                               + "xmlns:jaxb=\"http://java.sun.com/xml/ns/jaxb\"" + LINE_SEPARATOR +
+                                               "    jaxb:version=\"2.1\"" + LINE_SEPARATOR +
+                                               "    xmlns:annox=\"http://annox.dev.java.net\"" + LINE_SEPARATOR +
+                                               "    jaxb:extensionBindingPrefixes=\"annox\">" + DOUBLE_LINE_SEPARATOR);
+               } else {
+                       sb.append("<xs:schema elementFormDefault=\"qualified\" version=\"1.0\" targetNamespace=\"http://" + namespace + ".aai.inventory/"
+                                       + v.toString() + "\" xmlns:tns=\"http://" + namespace + ".aai.inventory/" + v.toString() + "\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\">" + DOUBLE_LINE_SEPARATOR);
+               }
+               return sb.toString();
+       }
+
+       @Override
+       public String process() throws ParserConfigurationException, SAXException, IOException, FileNotFoundException, EdgeRuleNotFoundException {
+               StringBuilder sb = new StringBuilder();
+
+               try {
+                       init();
+               } catch(Exception e) {
+                       logger.error( "Error initializing " + this.getClass());
+                       throw e;
+               }
+               sb.append(getDocumentHeader());
+               StringBuilder sbInventory = new StringBuilder();
+               Element elem;
+               String javaTypeName;
+               combinedJavaTypes = new HashMap();
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       elem = (Element)javaTypeNodes.item(i);
+                       javaTypeName = elem.getAttribute("name");
+                       if ( !"Inventory".equals(javaTypeName ) ) {
+                               if ( generatedJavaType.containsKey(javaTypeName) ) {
+                                       continue;
+                               }
+                               // will combine all matching java-types
+                               elem = getJavaTypeElement(javaTypeName,false );
+                       }
+                       XSDElement javaTypeElement = new XSDElement(elem, maxOccurs);
+                       //javaTypeName = javaTypeElement.name();
+                       if ( javaTypeName == null ) {
+                               String msg = "Invalid OXM file: <java-type> has no name attribute in " + oxmFile;
+                               logger.error(msg);
+                               throw new SAXException(msg);
+                       }
+                       if ("Nodes".equals(javaTypeName)) {
+                               logger.debug("skipping Nodes entry (temporary feature)");
+                               continue;
+                       }
+                       logger.debug(getXmlRootElementName(javaTypeName)+" vs "+ javaTypeName+":"+generatedJavaType.containsKey(getXmlRootElementName(javaTypeName)));
+
+                       if ( !"Inventory".equals(javaTypeName)) {
+                               generatedJavaType.put(javaTypeName, null);
+                       }
+                       sb.append(processJavaTypeElement( javaTypeName, javaTypeElement, sbInventory ));
+               }
+               sb.append(sbInventory);
+               sb.append("      </xs:sequence>" + LINE_SEPARATOR);
+               sb.append("    </xs:complexType>" + LINE_SEPARATOR);
+               sb.append("  </xs:element>" + LINE_SEPARATOR);
+               sb.append("</xs:schema>" + LINE_SEPARATOR);
+               return sb.toString();
+       }
+
+       protected boolean isValidName( String name ) {
+               if ( name == null || name.length() == 0 ) {
+                       return false;
+               }
+               String pattern = "^[a-z0-9-]*$";
+               return name.matches(pattern);
+       }
+
+       protected boolean skipCheck( String javaAttribute ) {
+               if ( javaAttribute.equals("model")
+                               || javaAttribute.equals("eventHeader") ) {
+                       return true;
+               }
+               return false;
+       }
+
+       public String processJavaTypeElement( String javaTypeName, Element javaType_Element, StringBuilder sbInventory) {
+               String xmlRootElementName = getXMLRootElementName(javaType_Element);
+
+               NodeList parentNodes = javaType_Element.getElementsByTagName("java-attributes");
+               StringBuffer sb = new StringBuffer();
+               if ( parentNodes.getLength() == 0 ) {
+                       logger.trace( "no java-attributes for java-type " + javaTypeName);
+                       return "";
+               }
+
+               Element parentElement = (Element)parentNodes.item(0);
+               NodeList xmlElementNodes = parentElement.getElementsByTagName("xml-element");
+               // support for multiple inventory elements across oxm files
+               boolean processingInventory = false;
+               boolean hasPreviousInventory = false;
+               if ( "inventory".equals(xmlRootElementName) && sbInventory != null ) {
+                       processingInventory = true;
+                       if ( sbInventory.toString().contains("xs:complexType") ) {
+                               hasPreviousInventory = true;
+                       }
+               }
+
+               StringBuffer sb1 = new StringBuffer();
+               if ( xmlElementNodes.getLength() > 0 ) {
+
+                       if ( !processingInventory || !hasPreviousInventory ) {
+                               sb1.append("  <xs:element name=\"" + xmlRootElementName + "\">" + LINE_SEPARATOR);
+                               sb1.append("    <xs:complexType>" + LINE_SEPARATOR);
+
+                               XSDElement javaTypeElement = new XSDElement(javaType_Element, maxOccurs);
+                               logger.debug("XSDElement name: "+javaTypeElement.name());
+                               if(versionUsesAnnotations(v.toString())) {
+                                       sb1.append(javaTypeElement.getHTMLAnnotation("class", "      "));
+                               }
+                               sb1.append("      <xs:sequence>" + LINE_SEPARATOR);
+                       }
+                       Element javatypeElement;
+                       for ( int i = 0; i < xmlElementNodes.getLength(); ++i ) {
+
+                               XSDElement xmlElementElement = new XSDElement((Element)xmlElementNodes.item(i), maxOccurs);
+
+//                             String elementName = xmlElementElement.getAttribute("name");
+                               String elementType = xmlElementElement.getAttribute("type");
+                               //No simple types; only AAI custom types
+                               String addType = elementType.contains("." + v.toString() + ".") ? elementType.substring(elementType.lastIndexOf('.')+1) : null;
+                       if ( elementType.contains("." + v.toString() + ".") && !generatedJavaType.containsKey(addType) ) {
+                               generatedJavaType.put(addType, elementType);
+                               javatypeElement = getJavaTypeElement(addType, processingInventory);
+                               sb.append(processJavaTypeElement( addType, javatypeElement, null ));
+                       }
+                       if ("Nodes".equals(addType)) {
+                               logger.trace("Skipping nodes, temporary testing");
+                               continue;
+                       }
+                       //assembles the basic <element>
+                       sb1.append(xmlElementElement.getHTMLElement(v, versionUsesAnnotations(v.toString()), this));
+                       }
+                       if ( !processingInventory ) {
+                               sb1.append("      </xs:sequence>" + LINE_SEPARATOR);
+                               sb1.append("    </xs:complexType>" + LINE_SEPARATOR);
+                               sb1.append("  </xs:element>" + LINE_SEPARATOR);
+                       }
+               }
+
+               if ( xmlElementNodes.getLength() < 1 ) {
+                       sb.append("  <xs:element name=\"" + xmlRootElementName + "\">" + LINE_SEPARATOR);
+                       sb.append("    <xs:complexType>" + LINE_SEPARATOR);
+                       sb.append("      <xs:sequence/>" + LINE_SEPARATOR);
+                       sb.append("    </xs:complexType>" + LINE_SEPARATOR);
+                       sb.append("  </xs:element>" + LINE_SEPARATOR);
+                       generatedJavaType.put(javaTypeName, null);
+                       return sb.toString();
+               }
+               if ( processingInventory && sbInventory != null ) {
+                       sbInventory.append(sb1);
+               } else {
+                       sb.append( sb1 );
+               }
+               return sb.toString();
+       }
+
+       private Element getJavaTypeElement( String javaTypeName, boolean processingInventory )
+       {
+               String attrName, attrValue;
+               Attr attr;
+               Element javaTypeElement;
+
+               List<Element> combineElementList = new ArrayList<Element>();
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       javaTypeElement = (Element) javaTypeNodes.item(i);
+                       NamedNodeMap attributes = javaTypeElement.getAttributes();
+                       for ( int j = 0; j < attributes.getLength(); ++j ) {
+                   attr = (Attr) attributes.item(j);
+                   attrName = attr.getNodeName();
+                   attrValue = attr.getNodeValue();
+                   if ( attrName.equals("name") && attrValue.equals(javaTypeName)) {
+                       if ( processingInventory ) {
+                               return javaTypeElement;
+                       } else {
+                               combineElementList.add(javaTypeElement);
+                       }
+                   }
+                       }
+               }
+               if ( combineElementList.size() == 0 ) {
+                       logger.error( "oxm file format error, missing java-type " + javaTypeName);
+                       return (Element) null;
+               } else if ( combineElementList.size() > 1 ) {
+                       // need to combine java-attributes
+                       return combineElements( javaTypeName, combineElementList);
+               }
+               return combineElementList.get(0);
+
+       }
+
+       private boolean versionUsesAnnotations( String version) {
+               int ver = new Integer(version.substring(1)).intValue();
+               if ( ver >= HTMLfromOXM.annotationsStartVersion ) {
+                       return true;
+               }
+               if ( ver <= HTMLfromOXM.annotationsMinVersion ) {
+                       return true;
+               }
+               return false;
+       }
+}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodeGetOperation.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodeGetOperation.java
new file mode 100644 (file)
index 0000000..b0961c3
--- /dev/null
@@ -0,0 +1,164 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.apache.commons.lang3.StringUtils;
+import org.onap.aai.schemagen.GenerateXsd;
+
+import java.util.*;
+
+public class NodeGetOperation {
+       static Map<String, Vector<String>> containers = new HashMap<String, Vector<String>>();
+       static ArrayList<String> checklist = createChecklist();
+    private static ArrayList<String> createChecklist()
+    {
+       ArrayList<String> list = new ArrayList<String>();
+       return list;
+    }
+       public static void addContainerProps(String container, Vector<String> containerProps) {
+               containers.put(container, containerProps);
+       }
+       public static void resetContainers() {
+               containers = new HashMap<String, Vector<String>>();
+               checklist = createChecklist();
+       }
+       private String useOpId;
+       private String xmlRootElementName;
+       private String tag;
+       private String path;
+       private String CRUDpath;
+       private String pathParams;
+       private String queryParams;
+
+               public NodeGetOperation(String useOpId, String xmlRootElementName, String tag, String path, String pathParams) {
+                       super();
+                       this.useOpId = useOpId;
+                       this.xmlRootElementName = xmlRootElementName;
+                       this.tag = tag;
+                       this.CRUDpath = path;
+                       this.path = nodePath();
+                       this.pathParams = pathParams;
+                       StringBuilder p = new StringBuilder();
+
+                       if(containers.get(xmlRootElementName) == null) {
+                               this.queryParams = "";
+                       } else {
+                               this.queryParams= String.join("", containers.get(xmlRootElementName));
+                               for(String param : containers.get(xmlRootElementName)) {
+                                       p.append(param);
+                               }
+                               this.queryParams = p.toString();
+                       }
+               }
+               String nodePath() {
+                       String path = null;
+                       int loc = CRUDpath.indexOf(xmlRootElementName);
+                       if(loc > 0) {
+                               path = "/nodes/"+CRUDpath.substring(loc);
+                       }
+                       return path;
+               }
+               @Override
+               public String toString() {
+                       StringTokenizer st;
+                       st = new StringTokenizer(CRUDpath, "/");
+                       //Path has to be longer than one element
+                       /*
+                       if ( st.countTokens() <= 1) {
+                               return "";
+                       }
+                       */
+                       //a valid tag is necessary
+                       if ( StringUtils.isEmpty(tag) ) {
+                               return "";
+                       }
+                       if ( CRUDpath.endsWith("/relationship") ) {
+                               return "";
+                       }
+                       if ( CRUDpath.contains("/relationship/") ) { // filter paths with relationship-list
+                               return "";
+                       }
+                       if ( CRUDpath.endsWith("/relationship-list")) {
+                               return "";
+                       }
+                       if ( CRUDpath.startsWith("/search")) {
+                               return "";
+                       }
+                       if ( CRUDpath.startsWith("/actions")) {
+                               return "";
+                       }
+                       if ( CRUDpath.startsWith("/nodes")) {
+                               return "";
+                       }
+                       if (checklist.contains(xmlRootElementName)) {
+                               return "";
+                       }
+                       StringBuffer pathSb = new StringBuffer();
+                       //Drop out the operations with multiple path parameters
+                       if(CRUDpath.lastIndexOf('{') > CRUDpath.indexOf('{') && StringUtils.isNotEmpty(pathParams)) {
+                               return "";
+                       }
+                       if(path.lastIndexOf('{') > path.indexOf('{') ) {
+                               return "";
+                       }
+                       //trim leading path elements before the current node type
+//                     int loc = path.indexOf(xmlRootElementName);
+//                     if(loc > 0) {
+//                             path = "/nodes/"+path.substring(loc);
+//                     }
+                       //append generic parameter syntax to all plural queries
+                       if(path.indexOf('{') == -1) {
+                               path += "?parameter=value[&parameter2=value2]";
+                       }
+                       pathSb.append("  " + path + ":\n" );
+                       pathSb.append("    get:\n");
+                       pathSb.append("      tags:\n");
+                       pathSb.append("        - Operations" + "\n");
+                       pathSb.append("      summary: returns " + xmlRootElementName + "\n");
+
+                       pathSb.append("      description: returns " + xmlRootElementName + "\n");
+                       pathSb.append("      operationId: get" + useOpId + "\n");
+                       pathSb.append("      produces:\n");
+                       pathSb.append("        - application/json\n");
+                       pathSb.append("        - application/xml\n");
+
+                       pathSb.append("      responses:\n");
+                       pathSb.append("        \"200\":\n");
+                       pathSb.append("          description: successful operation\n");
+                       pathSb.append("          schema:\n");
+                       pathSb.append("              $ref: \"#/definitions/" + xmlRootElementName + "\"\n");
+                       pathSb.append("        \"default\":\n");
+                       pathSb.append("          " + GenerateXsd.getResponsesUrl());
+                       if ( StringUtils.isNotEmpty(pathParams) || StringUtils.isNotEmpty(queryParams)) {
+                               pathSb.append("\n      parameters:\n");
+                       }
+                       if ( StringUtils.isNotEmpty(pathParams)) {
+                               pathSb.append(pathParams);
+                       }
+                       if ( StringUtils.isNotEmpty(pathParams) && StringUtils.isNotEmpty(queryParams)) {
+                               pathSb.append("\n");
+                       }
+                       if ( StringUtils.isNotEmpty(queryParams)) {
+                               pathSb.append(queryParams);
+                       }
+                       checklist.add(xmlRootElementName);
+                       return pathSb.toString();
+               }
+       }
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXM.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXM.java
new file mode 100644 (file)
index 0000000..b9efa2f
--- /dev/null
@@ -0,0 +1,527 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import com.google.common.collect.Multimap;
+import org.apache.commons.lang3.StringUtils;
+import org.onap.aai.edges.EdgeIngestor;
+import org.onap.aai.edges.EdgeRule;
+import org.onap.aai.edges.EdgeRuleQuery;
+import org.onap.aai.edges.exceptions.EdgeRuleNotFoundException;
+import org.onap.aai.nodes.NodeIngestor;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+import javax.xml.parsers.ParserConfigurationException;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.*;
+
+public class NodesYAMLfromOXM extends OxmFileProcessor {
+       private static final Logger logger = LoggerFactory.getLogger("GenerateXsd.class");
+       private static final String root = "../aai-schema/src/main/resources";
+       private static final String autoGenRoot = "aai-schema/src/main/resources";
+       private static final String generateTypeYAML = "yaml";
+       private static final String normalStartDir = "aai-schema-gen";
+       private static final String yaml_dir = (((System.getProperty("user.dir") != null) && (!System.getProperty("user.dir").contains(normalStartDir))) ? autoGenRoot : root) + "/aai_swagger_yaml";
+       private StringBuilder inventoryDefSb = null;
+       private Map<String,String> operationDefinitions = new HashMap<>();
+
+       private String basePath;
+
+       public NodesYAMLfromOXM(String basePath, SchemaVersions schemaVersions, NodeIngestor ni, EdgeIngestor ei){
+               super(schemaVersions, ni,ei);
+               this.basePath = basePath;
+       }
+       public void setOxmVersion(File oxmFile, SchemaVersion v) {
+               super.setOxmVersion(oxmFile, v);
+       }
+       public void setXmlVersion(String xml, SchemaVersion v){
+               super.setXmlVersion(xml, v);
+       }
+
+       public void setVersion(SchemaVersion v) {
+               super.setVersion(v);
+       }
+
+       @Override
+       public String getDocumentHeader() {
+               StringBuffer sb = new StringBuffer();
+               sb.append("swagger: \"2.0\"\ninfo:\n  ");
+               sb.append("description: |");
+        if ( versionSupportsSwaggerDiff(v.toString())) {
+            sb.append("\n\n    [Differences versus the previous schema version]("+"apidocs/aai_swagger_" + v.toString() + ".diff)");
+        }
+               sb.append("\n\n    Copyright &copy; 2017-18 AT&amp;T Intellectual Property. All rights reserved.\n\n    Licensed under the Creative Commons License, Attribution 4.0 Intl. (the &quot;License&quot;); you may not use this documentation except in compliance with the License.\n\n    You may obtain a copy of the License at\n\n    (https://creativecommons.org/licenses/by/4.0/)\n\n    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; 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.\n\n    This document is best viewed with Firefox or Chrome. Nodes can be found by appending /#/definitions/node-type-to-find to the path to this document. Edge definitions can be found with the node definitions.\n  version: \"" + v.toString() +"\"\n");
+               sb.append("  title: Active and Available Inventory REST API\n");
+               sb.append("  license:\n    name: Apache 2.0\n    url: http://www.apache.org/licenses/LICENSE-2.0.html\n");
+               sb.append("  contact:\n    name:\n    url:\n    email:\n");
+               sb.append("host:\nbasePath: " + basePath + "/" + v.toString() + "\n");
+               sb.append("schemes:\n  - https\npaths:\n");
+               return sb.toString();
+       }
+
+       protected void init() throws ParserConfigurationException, SAXException, IOException, FileNotFoundException, EdgeRuleNotFoundException {
+               super.init();
+       }
+
+       @Override
+       public String process() throws ParserConfigurationException, SAXException, IOException, FileNotFoundException, EdgeRuleNotFoundException {
+               StringBuffer sb = new StringBuffer();
+               StringBuffer pathSb = new StringBuffer();
+               NodeGetOperation.resetContainers();
+               try {
+                       init();
+               } catch(Exception e) {
+                       logger.error( "Error initializing " + this.getClass());
+                       throw e;
+               }
+               pathSb.append(getDocumentHeader());
+               StringBuffer definitionsSb = new StringBuffer();
+               Element elem;
+               String javaTypeName;
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       elem = (Element)javaTypeNodes.item(i);
+                       javaTypeName = elem.getAttribute("name");
+                       if ( !"Inventory".equals(javaTypeName ) ) {
+                               if ( generatedJavaType.containsKey(javaTypeName) ) {
+                                       continue;
+                               }
+                               // will combine all matching java-types
+                               elem = getJavaTypeElementSwagger(javaTypeName );
+                       }
+
+                       XSDElement javaTypeElement = new XSDElement(elem);
+
+                       logger.debug("External: "+javaTypeElement.getAttribute("name")+"/"+getXmlRootElementName(javaTypeName));
+                       if ( javaTypeName == null ) {
+                               String msg = "Invalid OXM file: <java-type> has no name attribute in " + oxmFile;
+                               logger.error(msg);
+                               throw new SAXException(msg);
+                       }
+                       namespaceFilter.add(getXmlRootElementName(javaTypeName));
+                       processJavaTypeElementSwagger( javaTypeName, javaTypeElement, pathSb,
+                               definitionsSb, null, null, null, null, null, null);
+               }
+               sb.append(pathSb);
+//             sb.append(getDocumentHeader());
+//             sb.append(totalPathSbAccumulator);
+               sb.append(appendOperations());
+               sb.append(appendDefinitions());
+               PutRelationPathSet prp = new PutRelationPathSet(v);
+               prp.generateRelations(ei);
+               return sb.toString();
+       }
+
+       public String appendDefinitions() {
+               return appendDefinitions(null);
+       }
+
+       public String appendDefinitions(Set<String> namespaceFilter) {
+               if ( inventoryDefSb != null ) {
+                       javaTypeDefinitions.put("inventory", inventoryDefSb.toString());
+               }
+               StringBuffer sb = new StringBuffer("definitions:\n");
+               Map<String, String> sortedJavaTypeDefinitions = new TreeMap<>(javaTypeDefinitions);
+
+               for (Map.Entry<String, String> entry : sortedJavaTypeDefinitions.entrySet()) {
+                       if(namespaceFilter != null && (! namespaceFilter.contains(entry.getKey()))) {
+                               continue;
+                       }
+                   sb.append(entry.getValue());
+               }
+               return sb.toString();
+       }
+
+       private String processJavaTypeElementSwagger( String javaTypeName, Element javaTypeElement,
+                       StringBuffer pathSb, StringBuffer definitionsSb, String path, String tag, String opId,
+                       String getItemName, StringBuffer pathParams, String validEdges) {
+
+               String xmlRootElementName = getXMLRootElementName(javaTypeElement);
+               StringBuilder definitionsLocalSb = new StringBuilder(256);
+
+               String useTag = null;
+               String useOpId = null;
+               logger.debug("tag="+tag);
+
+               if(tag != null && (! validTag(tag))) {
+                       logger.debug("tag="+tag+"; javaTypeName="+javaTypeName);
+                       return null;
+               }
+               if ( !javaTypeName.equals("Inventory") ) {
+                       if ( javaTypeName.equals("AaiInternal"))
+                               return null;
+                       if ( opId == null )
+                               useOpId = javaTypeName;
+                       else
+                               useOpId = opId + javaTypeName;
+                       if ( tag == null )
+                               useTag = javaTypeName;
+               }
+
+               path = xmlRootElementName.equals("inventory") ? "" : (path == null) ? "/" + xmlRootElementName : path + "/" + xmlRootElementName;
+               XSDJavaType javaType = new XSDJavaType(javaTypeElement);
+               if ( getItemName != null) {
+               if ( getItemName.equals("array") )
+                       return javaType.getArrayType();
+               else
+                       return javaType.getItemName();
+               }
+
+               NodeList parentNodes = javaTypeElement.getElementsByTagName("java-attributes");
+               if ( parentNodes.getLength() == 0 ) {
+                       logger.debug( "no java-attributes for java-type " + javaTypeName);
+                       return "";
+               }
+
+               String pathDescriptionProperty = javaType.getPathDescriptionProperty();
+               String container = javaType.getContainerProperty();
+               Vector<String> indexedProps = javaType.getIndexedProps();
+               Vector<String> containerProps = new Vector<String>();
+               if(container != null) {
+                       logger.debug("javaTypeName " + javaTypeName + " container:" + container +" indexedProps:"+indexedProps);
+               }
+
+               Element parentElement = (Element)parentNodes.item(0);
+               NodeList xmlElementNodes = parentElement.getElementsByTagName("xml-element");
+
+               StringBuffer sbParameters = new StringBuffer();
+               StringBuffer sbRequired = new StringBuffer();
+               int requiredCnt = 0;
+               int propertyCnt = 0;
+               StringBuffer sbProperties = new StringBuffer();
+
+               if ( appliedPaths.containsKey(path))
+                       return null;
+
+               StringTokenizer st = new StringTokenizer(path, "/");
+               logger.debug("path: " + path + " st? " + st.toString());
+               if ( st.countTokens() > 1 && getItemName == null ) {
+                       logger.debug("appliedPaths: " + appliedPaths + " containsKey? " + appliedPaths.containsKey(path));
+                       appliedPaths.put(path, xmlRootElementName);
+               }
+               Vector<String> addTypeV = null;
+               for ( int i = 0; i < xmlElementNodes.getLength(); ++i ) {
+                               XSDElement xmlElementElement = new XSDElement((Element)xmlElementNodes.item(i));
+                               if ( !xmlElementElement.getParentNode().isSameNode(parentElement))
+                                       continue;
+                               String elementDescription=xmlElementElement.getPathDescriptionProperty();
+                               if(getItemName == null) {
+                                       addTypeV = xmlElementElement.getAddTypes(v.toString());
+                               }
+                   if ( "true".equals(xmlElementElement.getAttribute("xml-key"))) {
+                       path += "/{" + xmlElementElement.getAttribute("name") + "}";
+                   }
+                   logger.debug("path: " + path);
+               logger.debug( "xmlElementElement.getAttribute(required):"+xmlElementElement.getAttribute("required") );
+
+                               if ( ("true").equals(xmlElementElement.getAttribute("required"))) {
+                                       if ( requiredCnt == 0 )
+                                               sbRequired.append("    required:\n");
+                                       ++requiredCnt;
+                                       if ( addTypeV == null || addTypeV.isEmpty()) {
+                                               sbRequired.append("    - " + xmlElementElement.getAttribute("name") + "\n");
+                                       } else {
+                                               for ( int k = 0; k < addTypeV.size(); ++k ) {
+                                                       sbRequired.append("    - " + getXmlRootElementName(addTypeV.elementAt(k)) + ":\n");
+                                               }
+                                       }
+                               }
+
+                               if ( "true".equals(xmlElementElement.getAttribute("xml-key")) )  {
+                                       sbParameters.append(xmlElementElement.getPathParamYAML(elementDescription));
+                               }
+                               if (  indexedProps != null
+                                               && indexedProps.contains(xmlElementElement.getAttribute("name") ) ) {
+                                       containerProps.add(xmlElementElement.getQueryParamYAML());
+                                       NodeGetOperation.addContainerProps(container, containerProps);
+                               }
+                       if ( xmlElementElement.isStandardType()) {
+                               sbProperties.append(xmlElementElement.getTypePropertyYAML());
+                               ++propertyCnt;
+                       }
+
+//                     StringBuffer newPathParams = new StringBuffer((pathParams == null ? "" : pathParams.toString())+sbParameters.toString()); //cp8128 don't append the pathParams to sbParameters so that child nodes don't contain the parameters from parent
+                       StringBuffer newPathParams = new StringBuffer(sbParameters.toString());
+               for ( int k = 0; addTypeV != null && k < addTypeV.size(); ++k ) {
+                       String addType = addTypeV.elementAt(k);
+                               namespaceFilter.add(getXmlRootElementName(addType));
+                       if ( opId == null || !opId.contains(addType)) {
+                               processJavaTypeElementSwagger( addType, getJavaTypeElementSwagger(addType),
+                                       pathSb, definitionsSb, path,  tag == null ? useTag : tag, useOpId, null,
+                                       newPathParams, validEdges);
+                       }
+                       // need item name of array
+                               String itemName = processJavaTypeElementSwagger( addType, getJavaTypeElementSwagger(addType),
+                                       pathSb, definitionsSb, path,  tag == null ? useTag : tag, useOpId,
+                                                       "array", null, null);
+
+                               if ( itemName != null ) {
+                                       if ( addType.equals("AaiInternal") ) {
+                                               logger.debug( "addType AaiInternal, skip properties");
+
+                                       } else if ( getItemName == null) {
+                                               ++propertyCnt;
+                                               sbProperties.append("      " + getXmlRootElementName(addType) + ":\n");
+                                               sbProperties.append("        type: array\n        items:\n");
+                                               sbProperties.append("          $ref: \"#/definitions/" + (itemName == "" ? "aai-internal" : itemName) + "\"\n");
+                                               if ( StringUtils.isNotEmpty(elementDescription) )
+                                                       sbProperties.append("        description: " + elementDescription + "\n");
+                                       }
+                               } else {
+                                       if ( ("java.util.ArrayList").equals(xmlElementElement.getAttribute("container-type"))) {
+                                                       // need properties for getXmlRootElementName(addType)
+                                               namespaceFilter.add(getXmlRootElementName(addType));
+                                               if(getXmlRootElementName(addType).equals("service-capabilities"))
+                                               {
+                                                       logger.info("arrays: "+ getXmlRootElementName(addType));
+                                               }
+//                                             newPathParams = new StringBuffer((pathParams == null ? "" : pathParams.toString())+sbParameters.toString()); //cp8128 - change this to not append pathParameters. Just use sbParameters
+                                               newPathParams = new StringBuffer(sbParameters.toString());
+                                               processJavaTypeElementSwagger( addType, getJavaTypeElementSwagger(addType),
+                                                       pathSb, definitionsSb, path,  tag == null ? useTag : tag, useOpId,
+                                                                       null, newPathParams, validEdges);
+                                               sbProperties.append("      " + getXmlRootElementName(addType) + ":\n");
+                                               sbProperties.append("        type: array\n        items:          \n");
+                                               sbProperties.append("          $ref: \"#/definitions/" + getXmlRootElementName(addType) + "\"\n");
+                                               if ( StringUtils.isNotEmpty(elementDescription) )
+                                                       sbProperties.append("        description: " + elementDescription + "\n");
+
+                                       } else {
+                                               //Make sure certain types added to the filter don't appear
+                                               if (nodeFilter.contains(getXmlRootElementName(addType))) {
+                                                       ;
+                                               } else {
+                                                       sbProperties.append("      " + getXmlRootElementName(addType) + ":\n");
+                                                       sbProperties.append("        type: object\n");
+                                                       sbProperties.append("        $ref: \"#/definitions/" + getXmlRootElementName(addType) + "\"\n");
+                                               }
+                                       }
+                                       if ( StringUtils.isNotEmpty(elementDescription) )
+                                               sbProperties.append("        description: " + elementDescription + "\n");
+                                       ++propertyCnt;
+                               }
+               }
+               }
+
+               if ( sbParameters.toString().length() > 0 ) {
+                       if ( pathParams == null )
+                               pathParams = new StringBuffer();
+                       pathParams.append(sbParameters);
+               }
+               if (indexedProps.isEmpty() && containerProps.isEmpty()){
+                       NodeGetOperation get = new NodeGetOperation(useOpId, xmlRootElementName, tag, path, null);
+                       String operation = get.toString();
+                       if(StringUtils.isNotEmpty(operation)) {
+                               operationDefinitions.put(xmlRootElementName, operation);
+                       }
+               } else {
+                       NodeGetOperation get = new NodeGetOperation(useOpId, xmlRootElementName, tag, path,  pathParams == null ? "" : pathParams.toString());
+                       String operation = get.toString();
+                       if(StringUtils.isNotEmpty(operation)) {
+                               operationDefinitions.put(xmlRootElementName, operation);
+                       }
+               }
+           logger.debug("opId vs useOpId:"+opId+" vs "+useOpId+" PathParams="+pathParams);
+               // add PUT
+               if ( generatedJavaType.containsKey(xmlRootElementName) ) {
+                       logger.debug("xmlRootElementName(1)="+xmlRootElementName);
+                       return null;
+               }
+               boolean processingInventoryDef = false;
+               if ( xmlRootElementName.equals("inventory")) {
+                       // inventory properties for each oxm to be concatenated
+                       processingInventoryDef = true;
+                       if ( inventoryDefSb == null ) {
+                               inventoryDefSb = new StringBuilder();
+                               definitionsSb.append("  " + xmlRootElementName + ":\n");
+                               definitionsLocalSb.append("  " + xmlRootElementName + ":\n");
+                               definitionsLocalSb.append("    properties:\n");
+                       }
+
+               } else {
+                       definitionsSb.append("  " + xmlRootElementName + ":\n");
+                       definitionsLocalSb.append("  " + xmlRootElementName + ":\n");
+               }
+               DeleteFootnoteSet footnotes = new DeleteFootnoteSet(xmlRootElementName);
+               StringBuffer sbEdge = new StringBuffer();
+               LinkedHashSet<String> preventDelete = new LinkedHashSet<String>();
+               String prevent=null;
+               String nodeCaption = new String("      ###### Related Nodes\n");
+               try {
+                       EdgeRuleQuery q = new EdgeRuleQuery.Builder(xmlRootElementName).version(v).fromOnly().build();
+                       Multimap<String, EdgeRule> results = ei.getRules(q);
+                       SortedSet<String> ss=new TreeSet<>(results.keySet());
+                       sbEdge.append(nodeCaption);
+                       nodeCaption="";
+                       for(String key : ss) {
+                               results.get(key).stream().filter((i) -> (i.getFrom().equals(xmlRootElementName) && (! i.isPrivateEdge()))).forEach((i) ->{ logger.info(new String(new StringBuffer("      - TO ").append(i.getTo()).append(i.getDirection().toString()).append(i.getContains())));} );
+                               results.get(key).stream().filter((i) -> (i.getFrom().equals(xmlRootElementName) && (! i.isPrivateEdge()))).forEach((i) ->{ sbEdge.append("      - TO "+i.getTo()); EdgeDescription ed = new EdgeDescription(i);  String footnote = ed.getAlsoDeleteFootnote(xmlRootElementName); sbEdge.append(ed.getRelationshipDescription("TO", xmlRootElementName)+footnote+"\n"); if(StringUtils.isNotEmpty(footnote)) footnotes.add(footnote);} );
+                               results.get(key).stream().filter((i) -> (i.getFrom().equals(xmlRootElementName) && (! i.isPrivateEdge() && i.getPreventDelete().equals("OUT")))).forEach((i) ->{ preventDelete.add(i.getTo().toUpperCase());} );
+                       }
+               } catch(Exception e) {
+                       logger.debug("xmlRootElementName: "+xmlRootElementName+"\n"+e);
+               }
+               try {
+                       EdgeRuleQuery q1 = new EdgeRuleQuery.Builder(xmlRootElementName).version(v).toOnly().build();
+                       Multimap<String, EdgeRule> results = ei.getRules(q1);
+                       SortedSet<String> ss=new TreeSet<String>(results.keySet());
+                       sbEdge.append(nodeCaption);
+                       for(String key : ss) {
+                               results.get(key).stream().filter((i) -> (i.getTo().equals(xmlRootElementName) && (! i.isPrivateEdge()))).forEach((i) ->{ sbEdge.append("      - FROM "+i.getFrom()); EdgeDescription ed = new EdgeDescription(i);  String footnote = ed.getAlsoDeleteFootnote(xmlRootElementName); sbEdge.append(ed.getRelationshipDescription("FROM", xmlRootElementName)+footnote+"\n"); if(StringUtils.isNotEmpty(footnote)) footnotes.add(footnote);} );
+                               results.get(key).stream().filter((i) -> (i.getTo().equals(xmlRootElementName) && (! i.isPrivateEdge()))).forEach((i) ->{ logger.info(new String(new StringBuffer("      - FROM ").append(i.getFrom()).append(i.getDirection().toString()).append(i.getContains())));} );
+                               results.get(key).stream().filter((i) -> (i.getTo().equals(xmlRootElementName) && (! i.isPrivateEdge() && i.getPreventDelete().equals("IN")))).forEach((i) ->{ preventDelete.add(i.getFrom().toUpperCase());} );
+                       }
+               } catch(Exception e) {
+                       logger.debug("xmlRootElementName: "+xmlRootElementName+"\n"+e);
+               }
+               if(preventDelete.size() > 0) {
+                       prevent = xmlRootElementName.toUpperCase()+" cannot be deleted if related to "+String.join(",",preventDelete);
+                       logger.debug(prevent);
+               }
+
+               if(StringUtils.isNotEmpty(prevent)) {
+                       footnotes.add(prevent);
+               }
+               if(footnotes.footnotes.size() > 0) {
+                       sbEdge.append(footnotes.toString());
+               }
+               validEdges = sbEdge.toString();
+
+               // Handle description property.  Might have a description OR valid edges OR both OR neither.
+               // Only put a description: tag if there is at least one.
+               if (StringUtils.isNotEmpty(pathDescriptionProperty) || StringUtils.isNotEmpty(validEdges) ) {
+                       definitionsSb.append("    description: |\n");
+                       definitionsLocalSb.append("    description: |\n");
+
+                       if ( pathDescriptionProperty != null ) {
+                               definitionsSb.append("      " + pathDescriptionProperty + "\n" );
+                               definitionsLocalSb.append("      " + pathDescriptionProperty    + "\n" );
+                       }
+                       definitionsSb.append(validEdges);
+                       definitionsLocalSb.append(validEdges);
+               }
+
+               if ( requiredCnt > 0 ) {
+                       definitionsSb.append(sbRequired);
+                       definitionsLocalSb.append(sbRequired);
+               }
+
+               if ( propertyCnt > 0 ) {
+                       definitionsSb.append("    properties:\n");
+                       definitionsSb.append(sbProperties);
+                       if  ( !processingInventoryDef) {
+                               definitionsLocalSb.append("    properties:\n");
+                       }
+                       definitionsLocalSb.append(sbProperties);
+               }
+               try {
+                       namespaceFilter.add(xmlRootElementName);
+                       if ( xmlRootElementName.equals("inventory") ) {
+                               //will add to javaTypeDefinitions at end
+                               inventoryDefSb.append(definitionsLocalSb.toString());
+                       } else {
+                               javaTypeDefinitions.put(xmlRootElementName, definitionsLocalSb.toString());
+                       }
+               } catch (Exception e) {
+                       e.printStackTrace();
+               }
+               if ( xmlRootElementName.equals("inventory") ) {
+                       logger.trace("skip xmlRootElementName(2)="+xmlRootElementName);
+                       return null;
+               }
+               generatedJavaType.put(xmlRootElementName, null);
+               //Write operations by Namespace(tagName)
+/*
+               if( validTag(javaTypeName) && javaTypeName == useTag && tag == null) {
+                       writeYAMLfile("nodes_"+javaTypeName, getDocumentHeader()+pathSb.toString()+appendDefinitions(namespaceFilter));
+                       totalPathSbAccumulator.append(pathSb);
+                       pathSb.delete(0, pathSb.length());
+                       namespaceFilter.clear();
+               }
+*/
+               logger.debug("xmlRootElementName(2)="+xmlRootElementName);
+               return null;
+       }
+
+       private void writeYAMLfile(String outfileName, String fileContent) {
+               outfileName = (StringUtils.isEmpty(outfileName)) ? "aai_swagger" : outfileName;
+               outfileName = (outfileName.lastIndexOf(File.separator) == -1) ? yaml_dir + File.separator +outfileName+"_" + v.toString() + "." + generateTypeYAML : outfileName;
+               File outfile = new File(outfileName);
+               File parentDir = outfile.getParentFile();
+               if(parentDir != null && ! parentDir.exists())
+                       parentDir.mkdirs();
+               try {
+                       outfile.createNewFile();
+               } catch (IOException e) {
+                       logger.error( "Exception creating output file " + outfileName);
+                       e.printStackTrace();
+               }
+               Path path = Paths.get(outfileName);
+               Charset charset = Charset.forName("UTF-8");
+               try(BufferedWriter bw = Files.newBufferedWriter(path, charset);) {
+                       bw.write(fileContent);
+                       if ( bw != null ) {
+                               bw.close();
+                       }
+               } catch ( IOException e) {
+                       logger.error( "Exception writing output file " + outfileName);
+                       e.printStackTrace();
+               }
+       }
+
+       public boolean validTag(String tag) {
+               if(tag != null) {
+                       switch ( tag ) {
+                       case "Network":
+                       case "Search":
+                       case "Actions":
+                       case "ServiceDesignAndCreation":
+                       case "Business":
+                       case "LicenseManagement":
+                       case "CloudInfrastructure":
+                               return true;
+                       }
+               }
+               return false;
+       }
+
+       public String appendOperations() {
+               //append definitions
+               StringBuffer sb = new StringBuffer();
+               Map<String, String> sortedOperationDefinitions = new TreeMap<String, String>(operationDefinitions);
+               for (Map.Entry<String, String> entry : sortedOperationDefinitions.entrySet()) {
+                   sb.append(entry.getValue());
+               }
+               return sb.toString();
+       }
+}
+
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/OxmFileProcessor.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/OxmFileProcessor.java
new file mode 100644 (file)
index 0000000..dfa702b
--- /dev/null
@@ -0,0 +1,481 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.onap.aai.edges.EdgeIngestor;
+import org.onap.aai.edges.exceptions.EdgeRuleNotFoundException;
+import org.onap.aai.nodes.NodeIngestor;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+import org.w3c.dom.*;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+import javax.xml.XMLConstants;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.*;
+
+public abstract class OxmFileProcessor {
+
+       public static final String LINE_SEPARATOR = System.getProperty("line.separator");
+       public static final String DOUBLE_LINE_SEPARATOR = System.getProperty("line.separator") + System.getProperty("line.separator");
+
+       EdgeIngestor ei;
+       NodeIngestor ni;
+       protected Set<String> namespaceFilter;
+       protected File oxmFile;
+       protected String xml;
+       protected SchemaVersion v;
+       protected Document doc = null;
+       protected String apiVersion = null;
+       protected SchemaVersions schemaVersions;
+
+
+       protected static int annotationsStartVersion = 9; // minimum version to support annotations in xsd
+       protected static int annotationsMinVersion = 6; // lower versions support annotations in xsd
+       protected static int swaggerSupportStartsVersion = 1; // minimum version to support swagger documentation
+       protected static int swaggerDiffStartVersion = 1; // minimum version to support difference
+       protected static int swaggerMinBasepath = 6; // minimum version to support difference
+
+       protected Map combinedJavaTypes;
+
+
+       protected String apiVersionFmt = null;
+       protected HashMap<String, String> generatedJavaType = new HashMap<String, String>();
+       protected HashMap<String, String> appliedPaths = new HashMap<String, String>();
+       protected NodeList javaTypeNodes = null;
+
+       protected Map<String,String> javaTypeDefinitions = createJavaTypeDefinitions();
+    private Map<String, String> createJavaTypeDefinitions()
+    {
+       StringBuffer aaiInternal = new StringBuffer();
+       StringBuffer nodes = new StringBuffer();
+       Map<String,String> javaTypeDefinitions = new HashMap<String, String>();
+       aaiInternal.append("  aai-internal:\n");
+       aaiInternal.append("    properties:\n");
+       aaiInternal.append("      property-name:\n");
+       aaiInternal.append("        type: string\n");
+       aaiInternal.append("      property-value:\n");
+       aaiInternal.append("        type: string\n");
+//     javaTypeDefinitions.put("aai-internal", aaiInternal.toString());
+             nodes.append("  nodes:\n");
+             nodes.append("    properties:\n");
+             nodes.append("      inventory-item-data:\n");
+             nodes.append("        type: array\n");
+             nodes.append("        items:\n");
+             nodes.append("          $ref: \"#/definitions/inventory-item-data\"\n");
+       javaTypeDefinitions.put("nodes", nodes.toString());
+       return javaTypeDefinitions;
+    }
+       static List<String> nodeFilter = createNodeFilter();
+    private static List<String> createNodeFilter()
+    {
+       List<String> list = Arrays.asList("search", "actions", "aai-internal", "nodes");
+       return list;
+    }
+
+    public OxmFileProcessor(SchemaVersions schemaVersions, NodeIngestor ni, EdgeIngestor ei){
+       this.schemaVersions = schemaVersions;
+       this.ni = ni;
+               this.ei = ei;
+       }
+
+
+
+       public void setOxmVersion(File oxmFile, SchemaVersion v) {
+               this.oxmFile = oxmFile;
+               this.v = v;
+       }
+
+       public void setXmlVersion(String xml, SchemaVersion v) {
+               this.xml = xml;
+               this.v = v;
+       }
+
+       public void setVersion(SchemaVersion v) {
+               this.oxmFile = null;
+               this.v = v;
+       }
+
+       public void setNodeIngestor(NodeIngestor ni) {
+                   this.ni = ni;
+       }
+
+    public void setEdgeIngestor(EdgeIngestor ei) {
+            this.ei = ei;
+       }
+
+    public SchemaVersions getSchemaVersions() {
+               return schemaVersions;
+       }
+
+       public void setSchemaVersions(SchemaVersions schemaVersions) {
+               this.schemaVersions = schemaVersions;
+       }
+
+       protected void init() throws ParserConfigurationException, SAXException, IOException, EdgeRuleNotFoundException  {
+               if(this.xml != null || this.oxmFile != null ) {
+                       createDocument();
+               }
+               if(this.doc == null) {
+                       this.doc = ni.getSchema(v);
+               }
+               namespaceFilter = new HashSet<>();
+
+           NodeList bindingsNodes = doc.getElementsByTagName("xml-bindings");
+               Element bindingElement;
+               NodeList javaTypesNodes;
+               Element javaTypesElement;
+
+               if ( bindingsNodes == null || bindingsNodes.getLength() == 0 ) {
+                       throw new SAXException("OXM file error: missing <binding-nodes> in " + oxmFile);
+               }
+
+               bindingElement = (Element) bindingsNodes.item(0);
+               javaTypesNodes = bindingElement.getElementsByTagName("java-types");
+               if ( javaTypesNodes.getLength() < 1 ) {
+                       throw new SAXException("OXM file error: missing <binding-nodes><java-types> in " + oxmFile);
+               }
+               javaTypesElement = (Element) javaTypesNodes.item(0);
+
+               javaTypeNodes = javaTypesElement.getElementsByTagName("java-type");
+               if ( javaTypeNodes.getLength() < 1 ) {
+                       throw new SAXException("OXM file error: missing <binding-nodes><java-types><java-type> in " + oxmFile );
+               }
+       }
+
+       private void createDocument() throws ParserConfigurationException, SAXException, IOException {
+               DocumentBuilder dBuilder = null;
+               try {
+                   DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
+                   dbFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+                   dBuilder = dbFactory.newDocumentBuilder();
+               } catch (ParserConfigurationException e) {
+                       throw e;
+               }
+               try {
+                   if ( xml == null ) {
+                       doc = dBuilder.parse(oxmFile);
+                   } else {
+                           InputSource isInput = new InputSource(new StringReader(xml));
+                           doc = dBuilder.parse(isInput);
+                   }
+               } catch (SAXException e) {
+                       throw e;
+               } catch (IOException e) {
+                       throw e;
+               }
+               return;
+       }
+       public abstract String getDocumentHeader();
+       public abstract String process() throws ParserConfigurationException, SAXException, IOException, FileNotFoundException, EdgeRuleNotFoundException ;
+
+       public String getXMLRootElementName(Element javaTypeElement) {
+               String xmlRootElementName=null;
+               NamedNodeMap attributes;
+
+               NodeList valNodes = javaTypeElement.getElementsByTagName("xml-root-element");
+               Element valElement = (Element) valNodes.item(0);
+               attributes = valElement.getAttributes();
+               for ( int i = 0; i < attributes.getLength(); ++i ) {
+            Attr attr = (Attr) attributes.item(i);
+            String attrName = attr.getNodeName();
+
+            String attrValue = attr.getNodeValue();
+            if ( attrName.equals("name"))
+               xmlRootElementName = attrValue;
+               }
+               return xmlRootElementName;
+       }
+
+       public String getXmlRootElementName( String javaTypeName )
+       {
+               String attrName, attrValue;
+               Attr attr;
+               Element javaTypeElement;
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       javaTypeElement = (Element) javaTypeNodes.item(i);
+                       NamedNodeMap attributes = javaTypeElement.getAttributes();
+                       for ( int j = 0; j < attributes.getLength(); ++j ) {
+                   attr = (Attr) attributes.item(j);
+                   attrName = attr.getNodeName();
+                   attrValue = attr.getNodeValue();
+                   if ( attrName.equals("name") && attrValue.equals(javaTypeName)) {
+                               NodeList valNodes = javaTypeElement.getElementsByTagName("xml-root-element");
+                               Element valElement = (Element) valNodes.item(0);
+                               attributes = valElement.getAttributes();
+                               for ( int k = 0; k < attributes.getLength(); ++k ) {
+                           attr = (Attr) attributes.item(k);
+                           attrName = attr.getNodeName();
+
+                           attrValue = attr.getNodeValue();
+                           if ( attrName.equals("name"))
+                               return (attrValue);
+                               }
+                   }
+                       }
+               }
+               return null;
+       }
+
+       public Map getCombinedJavaTypes() {
+               return combinedJavaTypes;
+       }
+
+       public void setCombinedJavaTypes(Map combinedJavaTypes) {
+               this.combinedJavaTypes = combinedJavaTypes;
+       }
+
+       public Element getJavaTypeElementSwagger( String javaTypeName )
+       {
+
+               String attrName, attrValue;
+               Attr attr;
+               Element javaTypeElement;
+
+               List<Element> combineElementList = new ArrayList<Element>();
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       javaTypeElement = (Element) javaTypeNodes.item(i);
+                       NamedNodeMap attributes = javaTypeElement.getAttributes();
+                       for ( int j = 0; j < attributes.getLength(); ++j ) {
+                   attr = (Attr) attributes.item(j);
+                   attrName = attr.getNodeName();
+                   attrValue = attr.getNodeValue();
+                   if ( attrName.equals("name") && attrValue.equals(javaTypeName)) {
+                       combineElementList.add(javaTypeElement);
+                   }
+                       }
+               }
+               if ( combineElementList.size() == 0 ) {
+                       return (Element) null;
+               } else if ( combineElementList.size() > 1 ) {
+                       return combineElements( javaTypeName, combineElementList);
+               }
+               return combineElementList.get(0);
+       }
+
+       public boolean versionSupportsSwaggerDiff( String version) {
+               int ver = new Integer(version.substring(1)).intValue();
+               if ( ver >= HTMLfromOXM.swaggerDiffStartVersion ) {
+                       return true;
+               }
+               return false;
+       }
+
+       public boolean versionSupportsBasePathProperty( String version) {
+               int ver = new Integer(version.substring(1)).intValue();
+               if ( ver <= HTMLfromOXM.swaggerMinBasepath ) {
+                       return true;
+               }
+               return false;
+       }
+
+       protected void updateParentXmlElements(Element parentElement, NodeList moreXmlElementNodes) {
+               Element xmlElement;
+               NodeList childNodes;
+               Node childNode;
+
+               Node refChild = null;
+               // find childNode with attributes and no children, insert children before that node
+               childNodes = parentElement.getChildNodes();
+               if ( childNodes == null || childNodes.getLength() == 0 ) {
+                       // should not happen since the base parent was chosen if it had children
+                       return;
+               }
+
+               for ( int i = 0; i < childNodes.getLength(); ++i ) {
+                       refChild = childNodes.item(i);
+                       if ( refChild.hasAttributes() && !refChild.hasChildNodes()) {
+                               break;
+                       }
+
+               }
+
+               for ( int i = 0; i < moreXmlElementNodes.getLength(); ++i ) {
+                       xmlElement = (Element)moreXmlElementNodes.item(i);
+                       childNode = xmlElement.cloneNode(true);
+                       parentElement.insertBefore(childNode, refChild);
+               }
+       }
+
+       protected Node getXmlPropertiesNode(Element javaTypeElement ) {
+               NodeList nl = javaTypeElement.getChildNodes();
+               Node child;
+               for ( int i = 0; i < nl.getLength(); ++i ) {
+                       child = nl.item(i);
+                       if ( "xml-properties".equals(child.getNodeName())) {
+                               return child;
+                       }
+               }
+               return null;
+       }
+
+       protected Node merge( NodeList nl, Node mergeNode ) {
+               NamedNodeMap nnm = mergeNode.getAttributes();
+               Node childNode;
+               NamedNodeMap childNnm;
+
+               String mergeName = nnm.getNamedItem("name").getNodeValue();
+               String mergeValue = nnm.getNamedItem("value").getNodeValue();
+               String childName;
+               String childValue;
+               for ( int j = 0; j < nl.getLength(); ++j ) {
+                       childNode = nl.item(j);
+                       if ( "xml-property".equals(childNode.getNodeName())) {
+                               childNnm = childNode.getAttributes();
+                               childName = childNnm.getNamedItem("name").getNodeValue();
+                               childValue = childNnm.getNamedItem("value").getNodeValue();
+                               if ( childName.equals(mergeName)) {
+                                       // attribute exists
+                                       // keep, replace or update
+                                       if ( childValue.contains(mergeValue) ) {
+                                               return null;
+                                       }
+                                       if ( mergeValue.contains(childValue) ) {
+                                               childNnm.getNamedItem("value").setTextContent(mergeValue);
+                                               return null;
+                                       }
+                                       childNnm.getNamedItem("value").setTextContent(mergeValue + "," + childValue);
+                                       return null;
+                               }
+                       }
+               }
+               childNode = mergeNode.cloneNode(true);
+               return childNode;
+       }
+
+       protected void mergeXmlProperties(Node useChildProperties, NodeList propertiesToMerge ) {
+               NodeList nl = useChildProperties.getChildNodes();
+               Node childNode;
+               Node newNode;
+               for ( int i = 0; i < propertiesToMerge.getLength(); ++i ) {
+                       childNode = propertiesToMerge.item(i);
+                       if ( "xml-property".equals(childNode.getNodeName()) ) {
+                               newNode = merge(nl, childNode);
+                               if ( newNode != null ) {
+                                       useChildProperties.appendChild(newNode);
+                               }
+                       }
+
+               }
+       }
+
+       protected void combineXmlProperties(int useElement, List<Element> combineElementList) {
+               // add or update xml-properties to the referenced element from the combined list
+               Element javaTypeElement = combineElementList.get(useElement);
+               NodeList nl = javaTypeElement.getChildNodes();
+               Node useChildProperties = getXmlPropertiesNode( javaTypeElement);
+               int cloneChild = -1;
+               Node childProperties;
+               if ( useChildProperties == null ) {
+                       // find xml-properties to clone
+                       for ( int i = 0; i < combineElementList.size(); ++i ) {
+                               if ( i == useElement ) {
+                                       continue;
+                               }
+                               childProperties = getXmlPropertiesNode(combineElementList.get(i));
+                               if ( childProperties != null ) {
+                                       useChildProperties = childProperties.cloneNode(true);
+                                       javaTypeElement.appendChild(useChildProperties);
+                                       cloneChild = i;
+                               }
+                       }
+               }
+               NodeList cnl;
+               // find other xml-properties
+               for ( int i = 0; i < combineElementList.size(); ++i ) {
+                       if ( i == useElement|| ( cloneChild >= 0 && i <= cloneChild )) {
+                               continue;
+                       }
+                       childProperties = getXmlPropertiesNode(combineElementList.get(i));
+                       if ( childProperties == null ) {
+                               continue;
+                       }
+                       cnl = childProperties.getChildNodes();
+                       mergeXmlProperties( useChildProperties, cnl);
+               }
+
+       }
+
+       protected Element combineElements( String javaTypeName, List<Element> combineElementList ) {
+               Element javaTypeElement;
+               NodeList parentNodes;
+               Element parentElement = null;
+               NodeList xmlElementNodes;
+
+               int useElement = -1;
+               if ( combinedJavaTypes.containsKey( javaTypeName) ) {
+                       return combineElementList.get((int)combinedJavaTypes.get(javaTypeName));
+               }
+               for ( int i = 0; i < combineElementList.size(); ++i ) {
+                       javaTypeElement = combineElementList.get(i);
+                       parentNodes = javaTypeElement.getElementsByTagName("java-attributes");
+                       if ( parentNodes.getLength() == 0 ) {
+                               continue;
+                       }
+                       parentElement = (Element)parentNodes.item(0);
+                       xmlElementNodes = parentElement.getElementsByTagName("xml-element");
+                       if ( xmlElementNodes.getLength() <= 0 ) {
+                               continue;
+                       }
+                       useElement = i;
+                       break;
+               }
+               boolean doCombineElements = true;
+               if ( useElement < 0 ) {
+                       useElement = 0;
+                       doCombineElements = false;
+               } else if ( useElement == combineElementList.size() - 1) {
+                       doCombineElements = false;
+               }
+               if ( doCombineElements ) {
+                       // get xml-element from other javaTypeElements
+                       Element otherParentElement = null;
+                       for ( int i = 0; i < combineElementList.size(); ++i ) {
+                               if ( i == useElement ) {
+                                       continue;
+                               }
+                               javaTypeElement = combineElementList.get(i);
+                               parentNodes = javaTypeElement.getElementsByTagName("java-attributes");
+                               if ( parentNodes.getLength() == 0 ) {
+                                       continue;
+                               }
+                               otherParentElement = (Element)parentNodes.item(0);
+                               xmlElementNodes = otherParentElement.getElementsByTagName("xml-element");
+                               if ( xmlElementNodes.getLength() <= 0 ) {
+                                       continue;
+                               }
+                               // xml-element that are not present
+                               updateParentXmlElements( parentElement, xmlElementNodes);
+
+                       }
+               }
+               // need to combine xml-properties
+               combineXmlProperties(useElement, combineElementList );
+               combinedJavaTypes.put( javaTypeName, useElement);
+               return combineElementList.get(useElement);
+       }
+}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/PatchOperation.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/PatchOperation.java
new file mode 100644 (file)
index 0000000..27882b7
--- /dev/null
@@ -0,0 +1,113 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.apache.commons.lang3.StringUtils;
+import org.onap.aai.schemagen.GenerateXsd;
+
+import java.util.StringTokenizer;
+
+public class PatchOperation {
+       private String useOpId;
+       private String xmlRootElementName;
+       private String tag;
+       private String path;
+       private String pathParams;
+
+               public PatchOperation(String useOpId, String xmlRootElementName, String tag, String path, String pathParams) {
+                       super();
+                       this.useOpId = useOpId;
+                       this.xmlRootElementName = xmlRootElementName;
+                       this.tag = tag;
+                       this.path = path;
+                       this.pathParams = pathParams;
+               }
+
+               public String toString() {
+                       StringTokenizer st;
+                       st = new StringTokenizer(path, "/");
+                       //a valid tag is necessary
+                       if ( StringUtils.isEmpty(tag) ) {
+                               return "";
+                       }
+                       if ( path.contains("/relationship/") ) { // filter paths with relationship-list
+                               return "";
+                       }
+                       if ( path.endsWith("/relationship-list")) {
+                               return "";
+                       }
+                       if ( path.startsWith("/search")) {
+                               return "";
+                       }
+                       //No Patch operation paths end with "relationship"
+
+                       if (path.endsWith("/relationship") ) {
+                               return "";
+                       }
+                       if (!path.endsWith("}")) {
+                               return "";
+                       }
+
+                       StringBuffer pathSb = new StringBuffer();
+                       StringBuffer relationshipExamplesSb = new StringBuffer();
+                       if ( path.endsWith("/relationship") ) {
+                               pathSb.append("  " + path + ":\n" );
+                       }
+                       pathSb.append("    patch:\n");
+                       pathSb.append("      tags:\n");
+                       pathSb.append("        - " + tag + "\n");
+
+                       if ( path.endsWith("/relationship") ) {
+                               pathSb.append("      summary: see node definition for valid relationships\n");
+                               relationshipExamplesSb.append("[See Examples](apidocs/relations/"+GenerateXsd.getAPIVersion()+"/"+useOpId+".json)");
+                       } else {
+                               pathSb.append("      summary: update an existing " + xmlRootElementName + "\n");
+                               pathSb.append("      description: |\n");
+                               pathSb.append("        Update an existing " + xmlRootElementName + "\n");
+                               pathSb.append("        #\n");
+                               pathSb.append("        Note:  Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n");
+                               pathSb.append("        The PUT operation will entirely replace an existing object.\n");
+                               pathSb.append("        The PATCH operation sends a \"description of changes\" for an existing object.  The entire set of changes must be applied.  An error result means no change occurs.\n");
+                               pathSb.append("        #\n");
+                               pathSb.append("        Other differences between PUT and PATCH are:\n");
+                               pathSb.append("        #\n");
+                               pathSb.append("        - For PATCH, you can send any of the values shown in sample REQUEST body.  There are no required values.\n");
+                               pathSb.append("        - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n");
+                               pathSb.append("        - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n");
+                       }
+                       pathSb.append("      operationId: Update" + useOpId + "\n");
+                       pathSb.append("      consumes:\n");
+                       pathSb.append("        - application/json\n");
+                       pathSb.append("      produces:\n");
+                       pathSb.append("        - application/json\n");
+                       pathSb.append("      responses:\n");
+                       pathSb.append("        \"default\":\n");
+                       pathSb.append("          " + GenerateXsd.getResponsesUrl());
+                       pathSb.append("      parameters:\n");
+                       pathSb.append(pathParams); // for nesting
+                       pathSb.append("        - name: body\n");
+                       pathSb.append("          in: body\n");
+                       pathSb.append("          description: " + xmlRootElementName + " object that needs to be updated."+relationshipExamplesSb.toString()+"\n");
+                       pathSb.append("          required: true\n");
+                       pathSb.append("          schema:\n");
+                       pathSb.append("            $ref: \"#/patchDefinitions/" + xmlRootElementName + "\"\n");
+                       return pathSb.toString();
+               }
+       }
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/PutOperation.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/PutOperation.java
new file mode 100644 (file)
index 0000000..3e69565
--- /dev/null
@@ -0,0 +1,118 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Modifications Copyright © 2018 IBM.
+ * ================================================================================
+ * 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.onap.aai.schemagen.genxsd;
+
+import org.apache.commons.lang3.StringUtils;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.schemagen.GenerateXsd;
+
+public class PutOperation {
+    public static final String RELATIONSHIP = "relationship";
+    private String useOpId;
+    private String xmlRootElementName;
+    private String tag;
+    private String path;
+    private String pathParams;
+    private SchemaVersion version;
+
+        public PutOperation(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, SchemaVersion v) {
+            super();
+            this.useOpId = useOpId;
+            this.xmlRootElementName = xmlRootElementName;
+            this.tag = tag;
+            this.path = path;
+            this.pathParams = pathParams;
+            this.version = v;
+        }
+
+        @Override
+        public String toString() {
+            //a valid tag is necessary
+            if ( StringUtils.isEmpty(tag) ) {
+                return "";
+            }
+            //All Put operation paths end with "relationship"
+            //or there is a parameter at the end of the path
+            //and there is a parameter in the path
+            if ( path.contains("/"+RELATIONSHIP+"/") ) { // filter paths with relationship-list
+                return "";
+            }
+            if ( path.endsWith("/"+RELATIONSHIP+"-list")) {
+                return "";
+            }
+            if ( !path.endsWith("/"+RELATIONSHIP)  &&  !path.endsWith("}") ) {
+                return "";
+            }
+            if ( path.startsWith("/search")) {
+                return "";
+            }
+            StringBuffer pathSb = new StringBuffer();
+            StringBuffer relationshipExamplesSb = new StringBuffer();
+            if ( path.endsWith("/"+RELATIONSHIP) ) {
+                pathSb.append("  " + path + ":\n" );
+            }
+            pathSb.append("    put:\n");
+            pathSb.append("      tags:\n");
+            pathSb.append("        - " + tag + "\n");
+
+            if ( path.endsWith("/"+RELATIONSHIP) ) {
+                pathSb.append("      summary: see node definition for valid relationships\n");
+            } else {
+                pathSb.append("      summary: create or update an existing " + xmlRootElementName + "\n");
+                pathSb.append("      description: |\n        Create or update an existing " + xmlRootElementName + ".\n        #\n        Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement.  An example can be found in the [PATCH section] below\n");
+            }
+            relationshipExamplesSb.append("[Valid relationship examples shown here](apidocs/relations/"+version.toString()+"/"+useOpId.replace("RelationshipListRelationship", "")+".json)");
+            pathSb.append("      operationId: createOrUpdate" + useOpId + "\n");
+            pathSb.append("      consumes:\n");
+            pathSb.append("        - application/json\n");
+            pathSb.append("        - application/xml\n");
+            pathSb.append("      produces:\n");
+            pathSb.append("        - application/json\n");
+            pathSb.append("        - application/xml\n");
+            pathSb.append("      responses:\n");
+            pathSb.append("        \"default\":\n");
+            pathSb.append("          " + GenerateXsd.getResponsesUrl());
+
+            pathSb.append("      parameters:\n");
+            pathSb.append(pathParams); // for nesting
+            pathSb.append("        - name: body\n");
+            pathSb.append("          in: body\n");
+            pathSb.append("          description: " + xmlRootElementName + " object that needs to be created or updated. "+relationshipExamplesSb.toString()+"\n");
+            pathSb.append("          required: true\n");
+            pathSb.append("          schema:\n");
+            String useElement = xmlRootElementName;
+            if ( xmlRootElementName.equals("relationship")) {
+               useElement += "-dict";
+            }
+            pathSb.append("            $ref: \"#/definitions/" + useElement + "\"\n");
+            this.tagRelationshipPathMapEntry();
+            return pathSb.toString();
+        }
+
+        public String tagRelationshipPathMapEntry() {
+            if ( path.endsWith("/"+RELATIONSHIP) ) {
+                PutRelationPathSet.add(useOpId, path);
+            }
+            return "";
+        }
+
+    }
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/PutRelationPathSet.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/PutRelationPathSet.java
new file mode 100644 (file)
index 0000000..c666d9f
--- /dev/null
@@ -0,0 +1,218 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import com.google.common.collect.Multimap;
+import org.apache.commons.text.similarity.LevenshteinDistance;
+import org.onap.aai.edges.EdgeIngestor;
+import org.onap.aai.edges.EdgeRule;
+import org.onap.aai.edges.EdgeRuleQuery;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.schemagen.GenerateXsd;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.*;
+
+public class PutRelationPathSet {
+       EdgeIngestor ei;
+       private static final Logger logger = LoggerFactory.getLogger("PutRelationPathSet.class");
+       protected static HashMap<String, String> putRelationPaths = new HashMap<String, String>();
+       public static void add(String useOpId, String path) {
+               putRelationPaths.put(useOpId, path);
+       }
+
+       String apiPath;
+       String opId;
+       SchemaVersion version;
+       protected ArrayList<String> relations = new ArrayList<String>();
+       String objectName = "";
+
+       public PutRelationPathSet(SchemaVersion v) {
+               this.version = v;
+       }
+
+       public PutRelationPathSet(String opId, String path, SchemaVersion v) {
+               this.apiPath = path.replace("/relationship-list/relationship", "");
+               this.opId = opId;
+               this.version = v;
+               objectName = DeleteOperation.deletePaths.get(apiPath);
+               logger.debug("II-apiPath: "+apiPath+"\nPath: "+path+"\nopId="+opId+"\nobjectName="+objectName);
+       }
+       private void process(EdgeIngestor edgeIngestor) {
+               this.ei =  edgeIngestor;
+               this.toRelations();
+               this.fromRelations();
+               this.writeRelationsFile();
+
+       }
+       private void toRelations() {
+               logger.debug("{“comment”: “Valid TO Relations that can be added”},");
+               logger.debug("apiPath: "+apiPath+"\nopId="+opId+"\nobjectName="+objectName);
+               try {
+
+                       EdgeRuleQuery q1 = new EdgeRuleQuery.Builder("ToOnly",objectName).version(version).build();
+                       Multimap<String, EdgeRule> results = ei.getRules(q1);
+                       relations.add("{\"comment\": \"Valid TO Relations that can be added\"}\n");
+                       SortedSet<String> ss=new TreeSet<String>(results.keySet());
+                       for(String key : ss) {
+                               results.get(key).stream().filter((i) -> (! i.isPrivateEdge())).forEach((i) ->{ String rel = selectedRelation(i); relations.add(rel); logger.debug("Relation added: "+rel); } );
+                       }
+               } catch(Exception e) {
+                       logger.debug("objectName: "+objectName+"\n"+e);
+               }
+       }
+       private String selectedRelation(EdgeRule rule) {
+               String selectedRelation = "";
+               EdgeDescription ed = new EdgeDescription(rule);
+               logger.debug(ed.getRuleKey()+"Type="+ed.getType());
+               String obj = ed.getRuleKey().replace(objectName,"").replace("|","");
+
+               if(ed.getType() == EdgeDescription.LineageType.UNRELATED) {
+                       String selectObj = getUnrelatedObjectPaths(obj, apiPath);
+                       logger.debug("SelectedObj"+selectObj);
+                       selectedRelation = formatObjectRelationSet(obj,selectObj);
+                       logger.trace("ObjectRelationSet"+selectedRelation);
+               } else {
+                       String selectObj = getKinObjectPath(obj, apiPath);
+                       logger.debug("SelectedObj"+selectObj);
+                       selectedRelation = formatObjectRelation(obj,selectObj);
+                       logger.trace("ObjectRelationSet"+selectedRelation);
+               }
+               return selectedRelation;
+       }
+
+       private void fromRelations() {
+               logger.debug("“comment”: “Valid FROM Relations that can be added”");
+               try {
+
+                       EdgeRuleQuery q1 = new EdgeRuleQuery.Builder(objectName,"FromOnly").version(version).build();
+                       Multimap<String, EdgeRule> results = ei.getRules(q1);
+                       relations.add("{\"comment\": \"Valid FROM Relations that can be added\"}\n");
+                       SortedSet<String> ss=new TreeSet<String>(results.keySet());
+                       for(String key : ss) {
+                               results.get(key).stream().filter((i) -> (! i.isPrivateEdge())).forEach((i) ->{ String rel = selectedRelation(i); relations.add(rel); logger.debug("Relation added: "+rel); } );
+                       }
+               } catch(Exception e) {
+                       logger.debug("objectName: "+objectName+"\n"+e);
+               }
+       }
+       private void writeRelationsFile() {
+               File examplefilePath = new File(GenerateXsd.getYamlDir() + "/relations/" + version.toString()+"/"+opId.replace("RelationshipListRelationship", "") + ".json");
+
+               logger.debug(String.join("exampleFilePath: ", examplefilePath.toString()));
+               FileOutputStream fop = null;
+               try {
+                       if (!examplefilePath.exists()) {
+                               examplefilePath.getParentFile().mkdirs();
+                               examplefilePath.createNewFile();
+                       }
+                       fop = new FileOutputStream(examplefilePath);
+               } catch(Exception e) {
+                       e.printStackTrace();
+                       return;
+               }
+               try {
+                       if(relations.size() > 0) {fop.write("[\n".getBytes());}
+                       fop.write(String.join(",\n", relations).getBytes());
+                       if(relations.size() > 0) {fop.write("\n]\n".getBytes());}
+                       fop.flush();
+                       fop.close();
+               } catch (Exception e) {
+                       e.printStackTrace();
+                       return;
+               }
+               finally{
+                       try {
+                               fop.close();
+                       } catch (IOException e) {
+                               e.printStackTrace();
+                       }
+               }
+               logger.debug(String.join(",\n", relations));
+               return;
+       }
+
+       private static String formatObjectRelationSet(String obj, String selectObj) {
+               StringBuffer pathSb = new StringBuffer();
+               String[] paths = selectObj.split("[|]");
+               for (String s: paths) {
+                       logger.trace("SelectOBJ"+s);
+                       pathSb.append(formatObjectRelation(obj, s)+",\n");
+               }
+               pathSb.deleteCharAt(pathSb.length()-2);
+               return pathSb.toString();
+       }
+
+       private static String formatObjectRelation(String obj, String selectObj) {
+               StringBuffer pathSb = new StringBuffer();
+               pathSb.append("{\n");
+               pathSb.append("\"related-to\" : \""+obj+"\",\n");
+               pathSb.append("\"related-link\" : \""+selectObj+"\"\n");
+               pathSb.append("}");
+               return pathSb.toString();
+       }
+
+       private static String getKinObjectPath(String obj, String apiPath) {
+               LevenshteinDistance proximity = new LevenshteinDistance();
+               String targetPath = "";
+               int targetScore = Integer.MAX_VALUE;
+               int targetMaxScore = 0;
+               for (Map.Entry<String, String> p : DeleteOperation.deletePaths.entrySet()) {
+                               if(p.getValue().equals(obj)) {
+                                       targetScore = (targetScore >= proximity.apply(apiPath, p.getKey())) ? proximity.apply(apiPath, p.getKey()) : targetScore;
+                                       targetPath = (targetScore >= proximity.apply(apiPath, p.getKey())) ? p.getKey() : targetPath;
+                                       targetMaxScore = (targetMaxScore <= proximity.apply(apiPath, p.getKey())) ? proximity.apply(apiPath, p.getKey()) : targetScore;
+                                       logger.trace(proximity.apply(apiPath, p.getKey())+":"+p.getKey());
+                                       logger.trace(proximity.apply(apiPath, p.getKey())+":"+apiPath);
+                               }
+               }
+               return targetPath;
+       }
+
+       private static String getUnrelatedObjectPaths(String obj, String apiPath) {
+               String targetPath = "";
+               logger.trace("Obj:"+obj +"\n" + apiPath);
+               for (Map.Entry<String, String> p : DeleteOperation.deletePaths.entrySet()) {
+                               if(p.getValue().equals(obj)) {
+                                       logger.trace("p.getvalue:"+p.getValue()+"p.getkey:"+p.getKey());
+                                       targetPath +=  ((targetPath.length() == 0 ? "" : "|") + p.getKey());
+                                       logger.trace("Match:"+apiPath +"\n" + targetPath);
+                               }
+               }
+               return targetPath;
+       }
+
+       public void generateRelations(EdgeIngestor edgeIngestor) {
+               putRelationPaths.forEach((k,v)->{
+                       logger.trace("k="+k+"\n"+"v="+v+v.equals("/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}/allotted-resources/allotted-resource/{id}/relationship-list/relationship"));
+                       logger.debug("apiPath(Operation): "+v);
+                       logger.debug("Target object: "+v.replace("/relationship-list/relationship", ""));
+                       logger.debug("Relations: ");
+                       PutRelationPathSet prp = new PutRelationPathSet(k, v, this.version);
+                       prp.process(edgeIngestor);
+               });
+       }
+
+}
+
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/XSDElement.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/XSDElement.java
new file mode 100644 (file)
index 0000000..3ee9495
--- /dev/null
@@ -0,0 +1,725 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import com.google.common.base.Joiner;
+import org.apache.commons.lang3.StringUtils;
+import org.onap.aai.setup.SchemaVersion;
+import org.w3c.dom.*;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.StringTokenizer;
+import java.util.Vector;
+
+public class XSDElement implements Element {
+       Element xmlElementElement;
+       String maxOccurs;
+       private static final int VALUE_NONE = 0;
+       private static final int VALUE_DESCRIPTION = 1;
+       private static final int VALUE_INDEXED_PROPS = 2;
+       private static final int VALUE_CONTAINER = 3;
+       private static final int VALUE_REQUIRES = 4;
+
+       public XSDElement(Element xmlElementElement, String maxOccurs) {
+               super();
+               this.xmlElementElement = xmlElementElement;
+               this.maxOccurs = maxOccurs;
+       }
+
+       public XSDElement(Element xmlElementElement) {
+               super();
+               this.xmlElementElement = xmlElementElement;
+               this.maxOccurs = null;
+       }
+
+       public String name() {
+               return this.getAttribute("name");
+       }
+
+       public Vector<String> getAddTypes(String version) {
+               String apiVersionFmt = "." + version + ".";
+               NamedNodeMap attributes = this.getAttributes();
+               Vector<String> addTypeV = new Vector<String>(); // vector of 1
+               String addType = null;
+
+               for ( int j = 0; j < attributes.getLength(); ++j ) {
+            Attr attr = (Attr) attributes.item(j);
+            String attrName = attr.getNodeName();
+
+            String attrValue = attr.getNodeValue();
+            if ( attrName.equals("type")) {
+               if ( attrValue.contains(apiVersionFmt) ) {
+                       addType = attrValue.substring(attrValue.lastIndexOf('.')+1);
+                       if ( addTypeV == null )
+                               addTypeV = new Vector<String>();
+                       addTypeV.add(addType);
+               }
+
+            }
+               }
+               return addTypeV;
+       }
+
+       public String getRequiresProperty() {
+               String elementAlsoRequiresProperty = null;
+               NodeList xmlPropNodes = this.getElementsByTagName("xml-properties");
+
+               for ( int i = 0; i < xmlPropNodes.getLength(); ++i ) {
+                       Element xmlPropElement = (Element)xmlPropNodes.item(i);
+                       if (! xmlPropElement.getParentNode().getAttributes().getNamedItem("name").getNodeValue().equals(this.xmlElementElement.getAttribute("name"))){
+                               continue;
+                       }
+                       NodeList childNodes = xmlPropElement.getElementsByTagName("xml-property");
+
+                       for ( int j = 0; j < childNodes.getLength(); ++j ) {
+                               Element childElement = (Element)childNodes.item(j);
+                               // get name
+                               int useValue = VALUE_NONE;
+                               NamedNodeMap attributes = childElement.getAttributes();
+                               for ( int k = 0; k < attributes.getLength(); ++k ) {
+                                       Attr attr = (Attr) attributes.item(k);
+                                       String attrName = attr.getNodeName();
+                                       String attrValue = attr.getNodeValue();
+                                       if ( attrName == null || attrValue == null )
+                                               continue;
+                                       if ( attrName.equals("name") && attrValue.equals("requires")) {
+                                               useValue = VALUE_REQUIRES;
+                                       }
+                                       if ( useValue == VALUE_REQUIRES && attrName.equals("value")) {
+                                               elementAlsoRequiresProperty = attrValue;
+                                       }
+                               }
+                       }
+               }
+               return elementAlsoRequiresProperty;
+       }
+
+       public String getPathDescriptionProperty() {
+               String pathDescriptionProperty = null;
+               NodeList xmlPropNodes = this.getElementsByTagName("xml-properties");
+
+               for ( int i = 0; i < xmlPropNodes.getLength(); ++i ) {
+                       Element xmlPropElement = (Element)xmlPropNodes.item(i);
+                       if (! xmlPropElement.getParentNode().getAttributes().getNamedItem("name").getNodeValue().equals(this.xmlElementElement.getAttribute("name"))){
+                               continue;
+                       }
+//                     This stopped working, replaced with above - should figure out why...
+//                     if ( !xmlPropElement.getParentNode().isSameNode(this.xmlElementElement))
+//                             continue;
+                       NodeList childNodes = xmlPropElement.getElementsByTagName("xml-property");
+
+                       for ( int j = 0; j < childNodes.getLength(); ++j ) {
+                               Element childElement = (Element)childNodes.item(j);
+                               // get name
+                               int useValue = VALUE_NONE;
+                               NamedNodeMap attributes = childElement.getAttributes();
+                               for ( int k = 0; k < attributes.getLength(); ++k ) {
+                                       Attr attr = (Attr) attributes.item(k);
+                                       String attrName = attr.getNodeName();
+                                       String attrValue = attr.getNodeValue();
+                                       if ( attrName == null || attrValue == null )
+                                               continue;
+                                       if ( attrName.equals("name") && attrValue.equals("description")) {
+                                               useValue = VALUE_DESCRIPTION;
+                                       }
+                                       if ( useValue == VALUE_DESCRIPTION && attrName.equals("value")) {
+                                               pathDescriptionProperty = attrValue;
+                                       }
+                               }
+                       }
+               }
+               return pathDescriptionProperty;
+       }
+       public Vector<String> getIndexedProps() {
+               Vector<String> indexedProps = new Vector<String>();
+               NodeList xmlPropNodes = this.getElementsByTagName("xml-properties");
+
+               for ( int i = 0; i < xmlPropNodes.getLength(); ++i ) {
+               Element xmlPropElement = (Element)xmlPropNodes.item(i);
+                       if ( !xmlPropElement.getParentNode().isSameNode(this.xmlElementElement))
+                               continue;
+                       NodeList childNodes = xmlPropElement.getElementsByTagName("xml-property");
+                       for ( int j = 0; j < childNodes.getLength(); ++j ) {
+                               Element childElement = (Element)childNodes.item(j);
+                               // get name
+                               int useValue = VALUE_NONE;
+                               NamedNodeMap attributes = childElement.getAttributes();
+                               for ( int k = 0; k < attributes.getLength(); ++k ) {
+                                       Attr attr = (Attr) attributes.item(k);
+                                       String attrName = attr.getNodeName();
+                                       String attrValue = attr.getNodeValue();
+                                       if ( attrName == null || attrValue == null )
+                                               continue;
+                                       if ( attrValue.equals("indexedProps")) {
+                                               useValue = VALUE_INDEXED_PROPS;
+                                       }
+                                       if ( useValue == VALUE_INDEXED_PROPS && attrName.equals("value")) {
+                                               indexedProps = getIndexedProps( attrValue );
+                                       }
+                               }
+                       }
+               }
+               return indexedProps;
+       }
+
+       private static Vector<String> getIndexedProps( String attrValue )
+       {
+               if ( attrValue == null )
+                       return null;
+               StringTokenizer st = new StringTokenizer( attrValue, ",");
+               if ( st.countTokens() ==  0 )
+                       return null;
+               Vector<String> result = new Vector<String>();
+               while ( st.hasMoreTokens()) {
+                       result.add(st.nextToken());
+               }
+               return result;
+       }
+
+       public String getContainerProperty() {
+               NodeList xmlPropNodes = this.getElementsByTagName("xml-properties");
+               String container = null;
+               for ( int i = 0; i < xmlPropNodes.getLength(); ++i ) {
+                       Element xmlPropElement = (Element)xmlPropNodes.item(i);
+                       if ( !xmlPropElement.getParentNode().isSameNode(this.xmlElementElement))
+                               continue;
+                       NodeList childNodes = xmlPropElement.getElementsByTagName("xml-property");
+                       for ( int j = 0; j < childNodes.getLength(); ++j ) {
+                               Element childElement = (Element)childNodes.item(j);
+                               // get name
+                               int useValue = VALUE_NONE;
+                               NamedNodeMap attributes = childElement.getAttributes();
+                               for ( int k = 0; k < attributes.getLength(); ++k ) {
+                                       Attr attr = (Attr) attributes.item(k);
+                                       String attrName = attr.getNodeName();
+                                       String attrValue = attr.getNodeValue();
+                                       if ( attrName == null || attrValue == null )
+                                               continue;
+                                       if ( useValue == VALUE_CONTAINER && attrName.equals("value")) {
+                                               container = attrValue;
+                                       }
+                                       if ( attrValue.equals("container")) {
+                                               useValue  = VALUE_CONTAINER;
+                                       }
+                               }
+                       }
+               }
+               return container;
+       }
+
+       public String getQueryParamYAML() {
+               StringBuffer sbParameter = new StringBuffer();
+               sbParameter.append(("        - name: " + this.getAttribute("name") + "\n"));
+               sbParameter.append(("          in: query\n"));
+               if ( this.getAttribute("description") != null && this.getAttribute("description").length() > 0 )
+                       sbParameter.append(("          description: " + this.getAttribute("description") + "\n"));
+               else
+                       sbParameter.append(("          description:\n"));
+               sbParameter.append(("          required: false\n"));
+               if ( ("java.lang.String").equals(this.getAttribute("type")))
+                       sbParameter.append("          type: string\n");
+               if ( ("java.lang.Long").equals(this.getAttribute("type"))) {
+                       sbParameter.append("          type: integer\n");
+                       sbParameter.append("          format: int64\n");
+               }
+               if ( ("java.lang.Integer").equals(this.getAttribute("type"))) {
+                       sbParameter.append("          type: integer\n");
+                       sbParameter.append("          format: int32\n");
+               }
+               if ( ("java.lang.Boolean").equals(this.getAttribute("type"))) {
+                       sbParameter.append("          type: boolean\n");
+               }
+               return sbParameter.toString();
+       }
+
+       public String getPathParamYAML(String elementDescription) {
+               StringBuffer sbParameter = new StringBuffer();
+               sbParameter.append(("        - name: " + this.getAttribute("name") + "\n"));
+               sbParameter.append(("          in: path\n"));
+               if ( elementDescription != null && elementDescription.length() > 0 )
+                       sbParameter.append(("          description: " + elementDescription + "\n"));
+               sbParameter.append(("          required: true\n"));
+               if ( ("java.lang.String").equals(this.getAttribute("type")))
+                       sbParameter.append("          type: string\n");
+               if ( ("java.lang.Long").equals(this.getAttribute("type"))) {
+                       sbParameter.append("          type: integer\n");
+                       sbParameter.append("          format: int64\n");
+               }
+               if ( ("java.lang.Integer").equals(this.getAttribute("type"))) {
+                       sbParameter.append("          type: integer\n");
+                       sbParameter.append("          format: int32\n");
+               }
+               if ( ("java.lang.Boolean").equals(this.getAttribute("type"))) {
+                       sbParameter.append("          type: boolean\n");
+               }
+               if(StringUtils.isNotBlank(this.getAttribute("name"))) {
+                       sbParameter.append("          example: "+"__"+this.getAttribute("name").toUpperCase()+"__"+"\n");
+               }
+               return sbParameter.toString();
+       }
+
+       public String getHTMLElement(SchemaVersion v, boolean useAnnotation, HTMLfromOXM driver) {
+               StringBuffer sbElement = new StringBuffer();
+               String elementName = this.getAttribute("name");
+               String elementType = this.getAttribute("type");
+               String elementContainerType = this.getAttribute("container-type");
+               String elementIsRequired = this.getAttribute("required");
+               String addType = elementType.contains("." + v.toString() + ".") ? elementType.substring(elementType.lastIndexOf('.')+1) : null;
+
+               if ( addType != null ) {
+                       sbElement.append("        <xs:element ref=\"tns:" + driver.getXmlRootElementName(addType)+"\"");
+               } else {
+                       sbElement.append("        <xs:element name=\"" + elementName +"\"");
+               }
+               if ( elementType.equals("java.lang.String"))
+                       sbElement.append(" type=\"xs:string\"");
+               if ( elementType.equals("java.lang.Long"))
+                       sbElement.append(" type=\"xs:unsignedInt\"");
+               if ( elementType.equals("java.lang.Integer"))
+                       sbElement.append(" type=\"xs:int\"");
+               if ( elementType.equals("java.lang.Boolean"))
+                       sbElement.append(" type=\"xs:boolean\"");
+               if ( addType != null || elementType.startsWith("java.lang.") ) {
+                       sbElement.append(" minOccurs=\"0\"");
+               }
+               if ( elementContainerType != null && elementContainerType.equals("java.util.ArrayList")) {
+                       sbElement.append(" maxOccurs=\"" + maxOccurs + "\"");
+               }
+               if(useAnnotation) {
+                       String annotation = new XSDElement(xmlElementElement, maxOccurs).getHTMLAnnotation("field", "          ");
+                       sbElement.append(StringUtils.isNotEmpty(annotation) ? ">" + OxmFileProcessor.LINE_SEPARATOR : "");
+                               sbElement.append(annotation);
+                               sbElement.append(StringUtils.isNotEmpty(annotation) ? "        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR : "/>" + OxmFileProcessor.LINE_SEPARATOR );
+               } else {
+                       sbElement.append("/>" + OxmFileProcessor.LINE_SEPARATOR);
+               }
+               return this.getHTMLElementWrapper(sbElement.toString(), v, useAnnotation);
+//             return sbElement.toString();
+       }
+
+       public String getHTMLElementWrapper(String unwrappedElement, SchemaVersion v, boolean useAnnotation) {
+
+               NodeList childNodes = this.getElementsByTagName("xml-element-wrapper");
+
+               String xmlElementWrapper = null;
+               if ( childNodes.getLength() > 0 ) {
+                       Element childElement = (Element)childNodes.item(0);
+                       // get name
+                       xmlElementWrapper = childElement == null ? null : childElement.getAttribute("name");
+               }
+               if(xmlElementWrapper == null)
+                       return unwrappedElement;
+
+               StringBuffer sbElement = new StringBuffer();
+               sbElement.append("        <xs:element name=\"" + xmlElementWrapper +"\"");
+               String elementType = xmlElementElement.getAttribute("type");
+               String elementIsRequired = this.getAttribute("required");
+               String addType = elementType.contains("." + v.toString() + ".") ? elementType.substring(elementType.lastIndexOf('.')+1) : null;
+
+               if ( elementIsRequired == null || !elementIsRequired.equals("true")||addType != null) {
+                       sbElement.append(" minOccurs=\"0\"");
+               }
+               sbElement.append(">" + OxmFileProcessor.LINE_SEPARATOR);
+               sbElement.append("          <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+               if(useAnnotation) {
+                       XSDElement javaTypeElement = new XSDElement((Element)this.getParentNode(), maxOccurs);
+                       sbElement.append(javaTypeElement.getHTMLAnnotation("class", "            "));
+               }
+               sbElement.append("            <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+               sbElement.append("      ");
+               sbElement.append(unwrappedElement);
+               sbElement.append("            </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+               sbElement.append("          </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+               sbElement.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+               return sbElement.toString();
+       }
+
+       public String getHTMLAnnotation(String target, String indentation) {
+               StringBuffer sb = new StringBuffer();
+               List<String> metadata = new ArrayList<>();
+               if("true".equals(this.getAttribute("xml-key")) ) {
+                       metadata.add("isKey=true");
+               }
+
+               NodeList xmlPropTags = this.getElementsByTagName("xml-properties");
+               Element xmlPropElement = null;
+               for ( int i = 0; i < xmlPropTags.getLength(); ++i ) {
+                       xmlPropElement = (Element)xmlPropTags.item(i);
+                       if (! xmlPropElement.getParentNode().getAttributes().getNamedItem("name").getNodeValue().equals(this.xmlElementElement.getAttribute("name")))
+                               continue;
+                       else
+                               break;
+               }
+               if(xmlPropElement != null) {
+                       NodeList xmlProperties = xmlPropElement.getElementsByTagName("xml-property");
+                       for (int i = 0; i < xmlProperties.getLength(); i++) {
+                               Element item = (Element)xmlProperties.item(i);
+                               String name = item.getAttribute("name");
+                               String value = item.getAttribute("value");
+                               if (name.equals("abstract")) {
+                                       name = "isAbstract";
+                               } else if (name.equals("extends")) {
+                                       name = "extendsFrom";
+                               }
+                               metadata.add(name + "=\"" + value.replaceAll("&",  "&amp;") + "\"");
+                       }
+               }
+               if(metadata.size() == 0) {
+                       return "";
+               }
+               sb.append(indentation +"<xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append(
+                       indentation + "  <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR +
+                       indentation + "    <annox:annotate target=\""+target+"\">@org.onap.aai.annotations.Metadata(" + Joiner.on(",").join(metadata) + ")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR +
+                       indentation + "  </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append(indentation +"</xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               return sb.toString();
+       }
+
+       public String getTypePropertyYAML() {
+               StringBuffer sbProperties = new StringBuffer();
+               sbProperties.append("      " + this.getAttribute("name") + ":\n");
+               sbProperties.append("        type: ");
+
+               if (  ("java.lang.String").equals(this.getAttribute("type")))
+                       sbProperties.append("string\n");
+               else if ( ("java.lang.Long").equals(this.getAttribute("type"))) {
+                       sbProperties.append("integer\n");
+                       sbProperties.append("        format: int64\n");
+               }
+               else if ( ("java.lang.Integer").equals(this.getAttribute("type"))){
+                       sbProperties.append("integer\n");
+                       sbProperties.append("        format: int32\n");
+               }
+               else if ( ("java.lang.Boolean").equals(this.getAttribute("type")))
+                       sbProperties.append("boolean\n");
+               String attrDescription = this.getPathDescriptionProperty();
+               if ( attrDescription != null && attrDescription.length() > 0 )
+                       sbProperties.append("        description: " + attrDescription + "\n");
+               String elementAlsoRequiresProperty=this.getRequiresProperty();
+               if ( StringUtils.isNotEmpty(elementAlsoRequiresProperty) )
+                       sbProperties.append("        also requires: " + elementAlsoRequiresProperty + "\n");
+               return sbProperties.toString();
+       }
+
+       public boolean isStandardType()
+       {
+               switch ( this.getAttribute("type") ) {
+               case "java.lang.String":
+               case "java.lang.Long":
+               case "java.lang.Integer":
+               case"java.lang.Boolean":
+                       return true;
+               }
+               return false;
+       }
+
+       @Override
+       public String getNodeName() {
+               return xmlElementElement.getNodeName();
+       }
+
+       @Override
+       public String getNodeValue() throws DOMException {
+               return xmlElementElement.getNodeValue();
+       }
+
+       @Override
+       public void setNodeValue(String nodeValue) throws DOMException {
+               xmlElementElement.setNodeValue(nodeValue);
+       }
+
+       @Override
+       public short getNodeType() {
+               return xmlElementElement.getNodeType();
+       }
+
+       @Override
+       public Node getParentNode() {
+               return xmlElementElement.getParentNode();
+       }
+
+       @Override
+       public NodeList getChildNodes() {
+               return xmlElementElement.getChildNodes();
+       }
+
+       @Override
+       public Node getFirstChild() {
+               return xmlElementElement.getFirstChild();
+       }
+
+       @Override
+       public Node getLastChild() {
+               return xmlElementElement.getLastChild();
+       }
+
+       @Override
+       public Node getPreviousSibling() {
+               return xmlElementElement.getPreviousSibling();
+       }
+
+       @Override
+       public Node getNextSibling() {
+               return xmlElementElement.getNextSibling();
+       }
+
+       @Override
+       public NamedNodeMap getAttributes() {
+               return xmlElementElement.getAttributes();
+       }
+
+       @Override
+       public Document getOwnerDocument() {
+               return xmlElementElement.getOwnerDocument();
+       }
+
+       @Override
+       public Node insertBefore(Node newChild, Node refChild) throws DOMException {
+               return xmlElementElement.insertBefore(newChild, refChild);
+       }
+
+       @Override
+       public Node replaceChild(Node newChild, Node oldChild) throws DOMException {
+               return xmlElementElement.replaceChild(newChild, oldChild);
+       }
+
+       @Override
+       public Node removeChild(Node oldChild) throws DOMException {
+               return xmlElementElement.removeChild(oldChild);
+       }
+
+       @Override
+       public Node appendChild(Node newChild) throws DOMException {
+               return xmlElementElement.appendChild(newChild);
+       }
+
+       @Override
+       public boolean hasChildNodes() {
+               return xmlElementElement.hasChildNodes();
+       }
+
+       @Override
+       public Node cloneNode(boolean deep) {
+               return xmlElementElement.cloneNode(deep);
+       }
+
+       @Override
+       public void normalize() {
+               xmlElementElement.normalize();
+       }
+
+       @Override
+       public boolean isSupported(String feature, String version) {
+               return xmlElementElement.isSupported(feature, version);
+       }
+
+       @Override
+       public String getNamespaceURI() {
+               return xmlElementElement.getNamespaceURI();
+       }
+
+       @Override
+       public String getPrefix() {
+               return xmlElementElement.getPrefix();
+       }
+
+       @Override
+       public void setPrefix(String prefix) throws DOMException {
+               xmlElementElement.setPrefix(prefix);
+       }
+
+       @Override
+       public String getLocalName() {
+
+               return xmlElementElement.getLocalName();
+       }
+
+       @Override
+       public boolean hasAttributes() {
+               return xmlElementElement.hasAttributes();
+       }
+
+       @Override
+       public String getBaseURI() {
+               return xmlElementElement.getBaseURI();
+       }
+
+       @Override
+       public short compareDocumentPosition(Node other) throws DOMException {
+               return xmlElementElement.compareDocumentPosition(other);
+       }
+
+       @Override
+       public String getTextContent() throws DOMException {
+               return xmlElementElement.getTextContent();
+       }
+
+       @Override
+       public void setTextContent(String textContent) throws DOMException {
+               xmlElementElement.setTextContent(textContent);
+       }
+
+       @Override
+       public boolean isSameNode(Node other) {
+               return xmlElementElement.isSameNode(other);
+       }
+
+       @Override
+       public String lookupPrefix(String namespaceURI) {
+               return xmlElementElement.lookupPrefix(namespaceURI);
+       }
+
+       @Override
+       public boolean isDefaultNamespace(String namespaceURI) {
+               return xmlElementElement.isDefaultNamespace(namespaceURI);
+       }
+
+       @Override
+       public String lookupNamespaceURI(String prefix) {
+               return xmlElementElement.lookupNamespaceURI(prefix);
+       }
+
+       @Override
+       public boolean isEqualNode(Node arg) {
+               return xmlElementElement.isEqualNode(arg);
+       }
+
+       @Override
+       public Object getFeature(String feature, String version) {
+               return xmlElementElement.getFeature(feature, version);
+       }
+
+       @Override
+       public Object setUserData(String key, Object data, UserDataHandler handler) {
+               return xmlElementElement.setUserData(key, data, handler);
+       }
+
+       @Override
+       public Object getUserData(String key) {
+               return xmlElementElement.getUserData(key);
+       }
+
+       @Override
+       public String getTagName() {
+               return xmlElementElement.getTagName();
+       }
+
+       @Override
+       public String getAttribute(String name) {
+               return xmlElementElement.getAttribute(name);
+       }
+
+       @Override
+       public void setAttribute(String name, String value) throws DOMException {
+               xmlElementElement.setAttribute(name, value);
+       }
+
+       @Override
+       public void removeAttribute(String name) throws DOMException {
+               xmlElementElement.removeAttribute(name);
+       }
+
+       @Override
+       public Attr getAttributeNode(String name) {
+               return xmlElementElement.getAttributeNode(name);
+       }
+
+       @Override
+       public Attr setAttributeNode(Attr newAttr) throws DOMException {
+               return xmlElementElement.setAttributeNode(newAttr);
+       }
+
+       @Override
+       public Attr removeAttributeNode(Attr oldAttr) throws DOMException {
+               return xmlElementElement.removeAttributeNode(oldAttr);
+       }
+
+       @Override
+       public NodeList getElementsByTagName(String name) {
+               return xmlElementElement.getElementsByTagName(name);
+       }
+
+       @Override
+       public String getAttributeNS(String namespaceURI, String localName) throws DOMException {
+               return xmlElementElement.getAttributeNS(namespaceURI, localName);
+       }
+
+       @Override
+       public void setAttributeNS(String namespaceURI, String qualifiedName, String value) throws DOMException {
+                xmlElementElement.setAttributeNS(namespaceURI, qualifiedName, value);
+                return;
+       }
+
+       @Override
+       public void removeAttributeNS(String namespaceURI, String localName) throws DOMException {
+               xmlElementElement.removeAttributeNS(namespaceURI, localName);
+       }
+
+       @Override
+       public Attr getAttributeNodeNS(String namespaceURI, String localName) throws DOMException {
+               return xmlElementElement.getAttributeNodeNS(namespaceURI, localName);
+       }
+
+       @Override
+       public Attr setAttributeNodeNS(Attr newAttr) throws DOMException {
+               return xmlElementElement.setAttributeNodeNS(newAttr);
+       }
+
+       @Override
+       public NodeList getElementsByTagNameNS(String namespaceURI, String localName) throws DOMException {
+               return xmlElementElement.getElementsByTagNameNS(namespaceURI, localName);
+       }
+
+       @Override
+       public boolean hasAttribute(String name) {
+               return xmlElementElement.hasAttribute(name);
+       }
+
+       @Override
+       public boolean hasAttributeNS(String namespaceURI, String localName) throws DOMException {
+               return xmlElementElement.hasAttributeNS(namespaceURI, localName);
+       }
+
+       @Override
+       public TypeInfo getSchemaTypeInfo() {
+               return xmlElementElement.getSchemaTypeInfo();
+       }
+
+       @Override
+       public void setIdAttribute(String name, boolean isId) throws DOMException {
+               xmlElementElement.setIdAttribute(name, isId);
+
+       }
+
+       @Override
+       public void setIdAttributeNS(String namespaceURI, String localName, boolean isId) throws DOMException {
+               xmlElementElement.setIdAttributeNS(namespaceURI, localName, isId);
+       }
+
+       @Override
+       public void setIdAttributeNode(Attr idAttr, boolean isId) throws DOMException {
+               xmlElementElement.setIdAttributeNode(idAttr, isId);
+               return;
+       }
+
+
+}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/XSDJavaType.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/XSDJavaType.java
new file mode 100644 (file)
index 0000000..80ab79b
--- /dev/null
@@ -0,0 +1,64 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+public class XSDJavaType extends XSDElement {
+       StringBuffer pathSb;
+       StringBuffer definitionsSb;
+       StringBuffer pathParams;
+
+       public XSDJavaType(Element javaTypeElement) {
+               super(javaTypeElement);
+       }
+/*
+       public XSDJavaType(XSDElement javaTypeElement, StringBuffer pathSb, StringBuffer definitionsSb,
+                       StringBuffer pathParams) {
+               super(javaTypeElement);
+               this.pathSb = pathSb;
+               this.definitionsSb = definitionsSb;
+               this.pathParams = pathParams;
+       }
+*/
+       public String getItemName() {
+               NodeList parentNodes = this.getElementsByTagName("java-attributes");
+               if(parentNodes.getLength() == 0)
+                       return null;
+               Element parentElement = (Element)parentNodes.item(0);
+               NodeList xmlElementNodes = parentElement.getElementsByTagName("xml-element");
+               XSDElement xmlElementElement = new XSDElement((Element)xmlElementNodes.item(0));
+               return xmlElementElement.getAttribute("name");
+       }
+
+       public String getArrayType() {
+               NodeList parentNodes = this.getElementsByTagName("java-attributes");
+               if(parentNodes.getLength() == 0)
+                       return null;
+               Element parentElement = (Element)parentNodes.item(0);
+               NodeList xmlElementNodes = parentElement.getElementsByTagName("xml-element");
+               XSDElement xmlElementElement = new XSDElement((Element)xmlElementNodes.item(0));
+               if ( xmlElementElement.hasAttribute("container-type") && xmlElementElement.getAttribute("container-type").equals("java.util.ArrayList")) {
+                       return xmlElementElement.getAttribute("name");
+               }
+               return null;
+       }
+}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/YAMLfromOXM.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/YAMLfromOXM.java
new file mode 100644 (file)
index 0000000..6e2af57
--- /dev/null
@@ -0,0 +1,590 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import com.google.common.collect.Multimap;
+import org.apache.commons.lang3.StringUtils;
+import org.onap.aai.edges.EdgeIngestor;
+import org.onap.aai.edges.EdgeRule;
+import org.onap.aai.edges.EdgeRuleQuery;
+import org.onap.aai.edges.exceptions.EdgeRuleNotFoundException;
+import org.onap.aai.nodes.NodeIngestor;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+import javax.xml.parsers.ParserConfigurationException;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.*;
+
+
+public class YAMLfromOXM extends OxmFileProcessor {
+       private static final Logger logger = LoggerFactory.getLogger("YAMLfromOXM.class");
+//     private static StringBuffer totalPathSbAccumulator = new StringBuffer();
+       private static final String root = "../aai-schema/src/main/resources";
+       private static final String autoGenRoot = "aai-schema/src/main/resources";
+       private static final String generateTypeYAML = "yaml";
+       private static final String normalStartDir = "aai-schema-gen";
+       private static final String yaml_dir = (((System.getProperty("user.dir") != null) && (!System.getProperty("user.dir").contains(normalStartDir))) ? autoGenRoot : root) + "/aai_swagger_yaml";
+       private StringBuilder inventoryDefSb = null;
+
+
+       private String basePath;
+
+       public YAMLfromOXM(String basePath, SchemaVersions schemaVersions, NodeIngestor ni, EdgeIngestor ei){
+               super(schemaVersions, ni,ei);
+               this.basePath = basePath;
+       }
+       public void setOxmVersion(File oxmFile, SchemaVersion v) {
+               super.setOxmVersion(oxmFile, v);
+       }
+       public void setXmlVersion(String xml, SchemaVersion v){
+               super.setXmlVersion(xml, v);
+       }
+
+       public void setVersion(SchemaVersion v) {
+               super.setVersion(v);
+       }
+
+       @Override
+       public String getDocumentHeader() {
+               StringBuffer sb = new StringBuffer();
+               sb.append("swagger: \"2.0\"\ninfo:\n  ");
+               sb.append("description: |");
+        if ( versionSupportsSwaggerDiff(v.toString())) {
+            sb.append("\n\n    [Differences versus the previous schema version](" + "apidocs/aai_swagger_" + v.toString() + ".diff)");
+        }
+               sb.append("\n\n    Copyright &copy; 2017-18 AT&amp;T Intellectual Property. All rights reserved.\n\n    Licensed under the Creative Commons License, Attribution 4.0 Intl. (the &quot;License&quot;); you may not use this documentation except in compliance with the License.\n\n    You may obtain a copy of the License at\n\n    (https://creativecommons.org/licenses/by/4.0/)\n\n    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; 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.\n\n    This document is best viewed with Firefox or Chrome. Nodes can be found by appending /#/definitions/node-type-to-find to the path to this document. Edge definitions can be found with the node definitions.\n  version: \"" + v.toString() +"\"\n");
+               sb.append("  title: Active and Available Inventory REST API\n");
+               sb.append("  license:\n    name: Apache 2.0\n    url: http://www.apache.org/licenses/LICENSE-2.0.html\n");
+               sb.append("  contact:\n    name:\n    url:\n    email:\n");
+               sb.append("host:\nbasePath: " + basePath + "/" + v.toString() + "\n");
+               sb.append("schemes:\n  - https\npaths:\n");
+               return sb.toString();
+       }
+
+       protected void init() throws ParserConfigurationException, SAXException, IOException, FileNotFoundException, EdgeRuleNotFoundException {
+               super.init();
+       }
+
+       @Override
+       public String process() throws ParserConfigurationException, SAXException, IOException, FileNotFoundException, EdgeRuleNotFoundException {
+               StringBuffer sb = new StringBuffer();
+               StringBuffer pathSb = new StringBuffer();
+               try {
+                       init();
+               } catch(Exception e) {
+                       logger.error( "Error initializing " + this.getClass(),e);
+                       throw e;
+               }
+               pathSb.append(getDocumentHeader());
+               StringBuffer definitionsSb = new StringBuffer();
+               Element elem;
+               String javaTypeName;
+               combinedJavaTypes = new HashMap();
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       elem = (Element)javaTypeNodes.item(i);
+                       javaTypeName = elem.getAttribute("name");
+                       if ( !"Inventory".equals(javaTypeName ) ) {
+                               if ( generatedJavaType.containsKey(getXmlRootElementName(javaTypeName) ) ) {
+                                       continue;
+                               }
+                               // will combine all matching java-types
+                               elem = getJavaTypeElementSwagger(javaTypeName );
+                       }
+
+                       XSDElement javaTypeElement = new XSDElement(elem);
+                       if ( javaTypeName == null ) {
+                               String msg = "Invalid OXM file: <java-type> has no name attribute in " + oxmFile;
+                               logger.error(msg);
+                               throw new SAXException(msg);
+                       }
+                       namespaceFilter.add(getXmlRootElementName(javaTypeName));
+                       processJavaTypeElementSwagger( javaTypeName, javaTypeElement, pathSb,
+                               definitionsSb, null, null, null, null, null, null);
+               }
+               sb.append(pathSb);
+
+               sb.append(appendDefinitions());
+               PutRelationPathSet prp = new PutRelationPathSet(v);
+               prp.generateRelations(ei);
+               return sb.toString();
+       }
+
+       public String appendDefinitions() {
+               return appendDefinitions(null);
+       }
+
+       public String appendDefinitions(Set<String> namespaceFilter) {
+               //append definitions
+               if ( inventoryDefSb != null ) {
+                       javaTypeDefinitions.put("inventory", inventoryDefSb.toString());
+               }
+               StringBuffer sb = new StringBuffer("definitions:\n");
+               Map<String, String> sortedJavaTypeDefinitions = new TreeMap<String, String>(javaTypeDefinitions);
+               for (Map.Entry<String, String> entry : sortedJavaTypeDefinitions.entrySet()) {
+//                 logger.info("Key: "+entry.getKey()+"Value: "+ entry.getValue());
+                   if(namespaceFilter != null && entry.getKey().matches("service-capabilities")) {
+                       for(String tally : namespaceFilter) { logger.debug("Marker: "+tally);}
+                   }
+                       if(namespaceFilter != null && (! namespaceFilter.contains(entry.getKey()))) {
+                               continue;
+                       }
+                   logger.debug("Key: "+entry.getKey()+"Test: "+ (entry.getKey() == "relationship-dict"));
+                   if(entry.getKey().matches("relationship-dict")) {
+                           String jb=entry.getValue();
+                       logger.debug("Value: "+jb);
+                           int ndx=jb.indexOf("related-to-property:");
+                           if(ndx > 0) {
+                               jb=jb.substring(0, ndx);
+                               jb=jb.replaceAll(" +$", "");
+                           }
+                       logger.debug("Value-after: "+jb);
+                       sb.append(jb);
+                       continue;
+                   }
+                   sb.append(entry.getValue());
+               }
+
+               sb.append("patchDefinitions:\n");
+               for (Map.Entry<String, String> entry : sortedJavaTypeDefinitions.entrySet()) {
+                       if(namespaceFilter != null && (! namespaceFilter.contains(entry.getKey()))) {
+                               continue;
+                       }
+                   String jb=entry.getValue().replaceAll("/definitions/", "/patchDefinitions/");
+                   int ndx=jb.indexOf("relationship-list:");
+                   if(ndx > 0) {
+                       jb=jb.substring(0, ndx);
+                       jb=jb.replaceAll(" +$", "");
+                   }
+                   int ndx1=jb.indexOf("resource-version:");
+                       logger.debug("Key: "+entry.getKey()+" index: " + ndx1);
+                       logger.debug("Value: "+jb);
+                       if(ndx1 > 0) {
+                           jb=jb.substring(0, ndx1);
+                           jb=jb.replaceAll(" +$", "");
+                   }
+                       logger.debug("Value-after: "+jb);
+                   sb.append(jb);
+               }
+
+               sb.append("getDefinitions:\n");
+               for (Map.Entry<String, String> entry : sortedJavaTypeDefinitions.entrySet()) {
+                       if(namespaceFilter != null && (! namespaceFilter.contains(entry.getKey()))) {
+                               continue;
+                       }
+                   String jb=entry.getValue().replaceAll("/definitions/", "/getDefinitions/");
+                   sb.append(jb);
+               }
+               return sb.toString();
+       }
+
+       private String getDictionary(String resource ) {
+               StringBuffer dictSb = new StringBuffer();
+               dictSb.append("  " + resource + ":\n");
+               dictSb.append("    description: |\n");
+               dictSb.append("      dictionary of " + resource + "\n" );
+               dictSb.append("    type: object\n");
+               dictSb.append("    properties:\n");
+               dictSb.append("      " + resource + ":\n");
+               dictSb.append("        type: array\n");
+               dictSb.append("        items:\n");
+               dictSb.append("          $ref: \"#/definitions/" + resource + "-dict\"\n");
+               return dictSb.toString();
+       }
+
+       private String processJavaTypeElementSwagger( String javaTypeName, Element javaTypeElement,
+                       StringBuffer pathSb, StringBuffer definitionsSb, String path, String tag, String opId,
+                       String getItemName, StringBuffer pathParams, String validEdges) {
+
+               String xmlRootElementName = getXMLRootElementName(javaTypeElement);
+               StringBuilder definitionsLocalSb = new StringBuilder(256);
+
+               String useTag = null;
+               String useOpId = null;
+               logger.debug("tag="+tag);
+               if ( tag != null ) {
+                       switch ( tag ) {
+                       case "Network":
+                       case "ServiceDesignAndCreation":
+                       case "Business":
+                       case "LicenseManagement":
+                       case "CloudInfrastructure":
+                       case "Common":
+                               break;
+                       default:
+                               logger.debug("javaTypeName="+javaTypeName);
+                               return null;
+                       }
+               }
+
+               if ( !javaTypeName.equals("Inventory") ) {
+                       if ( javaTypeName.equals("AaiInternal"))
+                               return null;
+                       if ( opId == null )
+                               useOpId = javaTypeName;
+                       else
+                               useOpId = opId + javaTypeName;
+                       if ( tag == null )
+                               useTag = javaTypeName;
+               }
+               path = xmlRootElementName.equals("inventory") ? "" : (path == null) ? "/" + xmlRootElementName : path + "/" + xmlRootElementName;
+               XSDJavaType javaType = new XSDJavaType(javaTypeElement);
+               if ( getItemName != null) {
+               if ( getItemName.equals("array") )
+                       return javaType.getArrayType();
+               else
+                       return javaType.getItemName();
+               }
+
+               NodeList parentNodes = javaTypeElement.getElementsByTagName("java-attributes");
+               if ( parentNodes.getLength() == 0 ) {
+                       logger.debug( "no java-attributes for java-type " + javaTypeName);
+                       return "";
+               }
+
+               String pathDescriptionProperty = javaType.getPathDescriptionProperty();
+               String container = javaType.getContainerProperty();
+               Vector<String> indexedProps = javaType.getIndexedProps();
+               Vector<String> containerProps = new Vector<String>();
+               if(container != null) {
+                       logger.debug("javaTypeName " + javaTypeName + " container:" + container +" indexedProps:"+indexedProps);
+               }
+
+               Element parentElement = (Element)parentNodes.item(0);
+               NodeList xmlElementNodes = parentElement.getElementsByTagName("xml-element");
+
+               StringBuffer sbParameters = new StringBuffer();
+               StringBuffer sbRequired = new StringBuffer();
+               int requiredCnt = 0;
+               int propertyCnt = 0;
+               StringBuffer sbProperties = new StringBuffer();
+
+               if ( appliedPaths.containsKey(path))
+                       return null;
+
+               StringTokenizer st = new StringTokenizer(path, "/");
+               logger.debug("path: " + path + " st? " + st.toString());
+               if ( st.countTokens() > 1 && getItemName == null ) {
+                       logger.debug("appliedPaths: " + appliedPaths + " containsKey? " + appliedPaths.containsKey(path));
+                       appliedPaths.put(path, xmlRootElementName);
+               }
+
+               Vector<String> addTypeV = null;
+               for ( int i = 0; i < xmlElementNodes.getLength(); ++i ) {
+                               XSDElement xmlElementElement = new XSDElement((Element)xmlElementNodes.item(i));
+                               if ( !xmlElementElement.getParentNode().isSameNode(parentElement))
+                                       continue;
+                               String elementDescription=xmlElementElement.getPathDescriptionProperty();
+                               if(getItemName == null) {
+                                       addTypeV = xmlElementElement.getAddTypes(v.toString());
+                               }
+                   if ( "true".equals(xmlElementElement.getAttribute("xml-key"))) {
+                       path += "/{" + xmlElementElement.getAttribute("name") + "}";
+                   }
+                   logger.debug("path: " + path);
+               logger.debug( "xmlElementElement.getAttribute(required):"+xmlElementElement.getAttribute("required") );
+
+                               if ( ("true").equals(xmlElementElement.getAttribute("required"))) {
+                                       if ( requiredCnt == 0 )
+                                               sbRequired.append("    required:\n");
+                                       ++requiredCnt;
+                                       if ( addTypeV == null || addTypeV.isEmpty()) {
+                                               sbRequired.append("    - " + xmlElementElement.getAttribute("name") + "\n");
+                                       } else {
+                                               for ( int k = 0; k < addTypeV.size(); ++k ) {
+                                                       sbRequired.append("    - " + getXmlRootElementName(addTypeV.elementAt(k)) + ":\n");
+                                               }
+                                       }
+                               }
+
+                               if ( "true".equals(xmlElementElement.getAttribute("xml-key")) )  {
+                                       sbParameters.append(xmlElementElement.getPathParamYAML(elementDescription));
+                               }
+                               if (  indexedProps != null
+                                               && indexedProps.contains(xmlElementElement.getAttribute("name") ) ) {
+                                       containerProps.add(xmlElementElement.getQueryParamYAML());
+                                       GetOperation.addContainerProps(container, containerProps);
+                               }
+                       if ( xmlElementElement.isStandardType()) {
+                               sbProperties.append(xmlElementElement.getTypePropertyYAML());
+                               ++propertyCnt;
+                       }
+
+                       StringBuffer newPathParams = new StringBuffer((pathParams == null ? "" : pathParams.toString())+sbParameters.toString());
+               for ( int k = 0; addTypeV != null && k < addTypeV.size(); ++k ) {
+                       String addType = addTypeV.elementAt(k);
+                               namespaceFilter.add(getXmlRootElementName(addType));
+                               logger.debug("addType: "+ addType);
+
+                       if ( opId == null || !opId.contains(addType)) {
+                               processJavaTypeElementSwagger( addType, getJavaTypeElementSwagger(addType),
+                                       pathSb, definitionsSb, path,  tag == null ? useTag : tag, useOpId, null,
+                                       newPathParams, validEdges);
+                       }
+                       // need item name of array
+                               String itemName = processJavaTypeElementSwagger( addType, getJavaTypeElementSwagger(addType),
+                                       pathSb, definitionsSb, path,  tag == null ? useTag : tag, useOpId,
+                                                       "array", null, null );
+
+                               if ( itemName != null ) {
+                                       if ( addType.equals("AaiInternal") ) {
+                                               logger.debug( "addType AaiInternal, skip properties");
+
+                                       } else if ( getItemName == null) {
+                                               ++propertyCnt;
+                                               sbProperties.append("      " + getXmlRootElementName(addType) + ":\n");
+                                               sbProperties.append("        type: array\n        items:\n");
+                                               sbProperties.append("          $ref: \"#/definitions/" + (itemName == "" ? "inventory-item-data" : itemName) + "\"\n");
+                                               if ( StringUtils.isNotEmpty(elementDescription) )
+                                                       sbProperties.append("        description: " + elementDescription + "\n");
+                                       }
+                               } else {
+                                       if ( ("java.util.ArrayList").equals(xmlElementElement.getAttribute("container-type"))) {
+                                                       // need properties for getXmlRootElementName(addType)
+                                               namespaceFilter.add(getXmlRootElementName(addType));
+                                               newPathParams = new StringBuffer((pathParams == null ? "" : pathParams.toString())+sbParameters.toString());
+                                               processJavaTypeElementSwagger( addType, getJavaTypeElementSwagger(addType),
+                                                       pathSb, definitionsSb, path,  tag == null ? useTag : tag, useOpId,
+                                                                       null, newPathParams, validEdges );
+                                               sbProperties.append("      " + getXmlRootElementName(addType) + ":\n");
+                                               sbProperties.append("        type: array\n        items:          \n");
+                                               sbProperties.append("          $ref: \"#/definitions/" + getXmlRootElementName(addType) + "\"\n");
+                                               if ( StringUtils.isNotEmpty(elementDescription) )
+                                                       sbProperties.append("        description: " + elementDescription + "\n");
+
+                                       } else {
+                                               //Make sure certain types added to the filter don't appear
+                                               if(nodeFilter.contains(getXmlRootElementName(addType))) {
+                                                       ;
+                                               } else {
+                                                       sbProperties.append("      " + getXmlRootElementName(addType) + ":\n");
+                                                       sbProperties.append("        type: object\n");
+                                                       sbProperties.append("        $ref: \"#/definitions/" + getXmlRootElementName(addType) + "\"\n");
+                                               }
+                                       }
+                                       if ( StringUtils.isNotEmpty(elementDescription) )
+                                               sbProperties.append("        description: " + elementDescription + "\n");
+                                       ++propertyCnt;
+                               }
+               }
+               }
+
+               if ( sbParameters.toString().length() > 0 ) {
+                       if ( pathParams == null )
+                               pathParams = new StringBuffer();
+                       pathParams.append(sbParameters);
+               }
+               GetOperation get = new GetOperation(useOpId, xmlRootElementName, tag, path,  pathParams == null ? "" : pathParams.toString());
+           pathSb.append(get.toString());
+           logger.debug("opId vs useOpId:"+opId+" vs "+useOpId+" PathParams="+pathParams);
+               // add PUT
+               PutOperation put = new PutOperation(useOpId, xmlRootElementName, tag, path, pathParams == null ? "" : pathParams.toString(), this.v);
+               pathSb.append(put.toString());
+               // add PATCH
+               PatchOperation patch = new PatchOperation(useOpId, xmlRootElementName, tag, path, pathParams == null ? "" : pathParams.toString());
+               pathSb.append(patch.toString());
+               // add DELETE
+               DeleteOperation del = new DeleteOperation(useOpId, xmlRootElementName, tag, path, pathParams == null ? "" : pathParams.toString());
+               pathSb.append(del.toString());
+               if ( generatedJavaType.containsKey(xmlRootElementName) ) {
+                       logger.debug("xmlRootElementName(1)="+xmlRootElementName);
+                       return null;
+               }
+
+               boolean processingInventoryDef = false;
+               String dict = null;
+               if ( xmlRootElementName.equals("inventory")) {
+                       // inventory properties for each oxm to be concatenated
+                       processingInventoryDef = true;
+                       if ( inventoryDefSb == null ) {
+                               inventoryDefSb = new StringBuilder();
+                               definitionsSb.append("  " + xmlRootElementName + ":\n");
+                               definitionsLocalSb.append("  " + xmlRootElementName + ":\n");
+                               definitionsLocalSb.append("    properties:\n");
+                       }
+               } else if ( xmlRootElementName.equals("relationship")) {
+                       definitionsSb.append("  " + "relationship-dict" + ":\n");
+                       definitionsLocalSb.append("  " + "relationship-dict" + ":\n");
+                       dict = getDictionary(xmlRootElementName);
+               } else {
+                       definitionsSb.append("  " + xmlRootElementName + ":\n");
+                       definitionsLocalSb.append("  " + xmlRootElementName + ":\n");
+               }
+//             Collection<EdgeDescription> edges = edgeRuleSet.getEdgeRules(xmlRootElementName );
+               DeleteFootnoteSet footnotes = new DeleteFootnoteSet(xmlRootElementName);
+               StringBuffer sbEdge = new StringBuffer();
+               LinkedHashSet<String> preventDelete = new LinkedHashSet<String>();
+               String prevent=null;
+               String nodeCaption = new String("      ###### Related Nodes\n");
+               try {
+                       EdgeRuleQuery q = new EdgeRuleQuery.Builder(xmlRootElementName).version(v).fromOnly().build();
+                       Multimap<String, EdgeRule> results = ei.getRules(q);
+                       SortedSet<String> ss=new TreeSet<String>(results.keySet());
+                       sbEdge.append(nodeCaption);
+                       nodeCaption="";
+                       for(String key : ss) {
+                               results.get(key).stream().filter((i) -> (i.getFrom().equals(xmlRootElementName) && (! i.isPrivateEdge()))).forEach((i) ->{ logger.info(new String(new StringBuffer("      - TO ").append(i.getTo()).append(i.getDirection().toString()).append(i.getContains())));} );
+                               results.get(key).stream().filter((i) -> (i.getFrom().equals(xmlRootElementName) && (! i.isPrivateEdge()))).forEach((i) ->{ sbEdge.append("      - TO "+i.getTo()); EdgeDescription ed = new EdgeDescription(i);  String footnote = ed.getAlsoDeleteFootnote(xmlRootElementName); sbEdge.append(ed.getRelationshipDescription("TO", xmlRootElementName)+footnote+"\n"); if(StringUtils.isNotEmpty(footnote)) footnotes.add(footnote);} );
+                               results.get(key).stream().filter((i) -> (i.getFrom().equals(xmlRootElementName) && (! i.isPrivateEdge() && i.getPreventDelete().equals("OUT")))).forEach((i) ->{ preventDelete.add(i.getTo().toUpperCase());} );
+                       }
+               } catch(Exception e) {
+                       logger.debug("xmlRootElementName: "+xmlRootElementName+" from edge exception\n", e);
+               }
+               try {
+                       EdgeRuleQuery q1 = new EdgeRuleQuery.Builder(xmlRootElementName).version(v).toOnly().build();
+                       Multimap<String, EdgeRule> results = ei.getRules(q1);
+                       SortedSet<String> ss=new TreeSet<String>(results.keySet());
+                       sbEdge.append(nodeCaption);
+                       for(String key : ss) {
+                               results.get(key).stream().filter((i) -> (i.getTo().equals(xmlRootElementName) && (! i.isPrivateEdge()))).forEach((i) ->{ sbEdge.append("      - FROM "+i.getFrom()); EdgeDescription ed = new EdgeDescription(i);  String footnote = ed.getAlsoDeleteFootnote(xmlRootElementName); sbEdge.append(ed.getRelationshipDescription("FROM", xmlRootElementName)+footnote+"\n"); if(StringUtils.isNotEmpty(footnote)) footnotes.add(footnote);} );
+                               results.get(key).stream().filter((i) -> (i.getTo().equals(xmlRootElementName) && (! i.isPrivateEdge()))).forEach((i) ->{ logger.info(new String(new StringBuffer("      - FROM ").append(i.getFrom()).append(i.getDirection().toString()).append(i.getContains())));} );
+                               results.get(key).stream().filter((i) -> (i.getTo().equals(xmlRootElementName) && (! i.isPrivateEdge() && i.getPreventDelete().equals("IN")))).forEach((i) ->{ preventDelete.add(i.getFrom().toUpperCase());} );
+                       }
+               } catch(Exception e) {
+                       logger.debug("xmlRootElementName: "+xmlRootElementName+" to edge exception\n", e);
+               }
+               if(preventDelete.size() > 0) {
+                       prevent = xmlRootElementName.toUpperCase()+" cannot be deleted if related to "+String.join(",",preventDelete);
+                       logger.debug(prevent);
+               }
+
+               if(StringUtils.isNotEmpty(prevent)) {
+                       footnotes.add(prevent);
+               }
+               if(footnotes.footnotes.size() > 0) {
+                       sbEdge.append(footnotes.toString());
+               }
+               validEdges = sbEdge.toString();
+
+               // Handle description property.  Might have a description OR valid edges OR both OR neither.
+               // Only put a description: tag if there is at least one.
+               if (StringUtils.isNotEmpty(pathDescriptionProperty) || StringUtils.isNotEmpty(validEdges) ) {
+                       definitionsSb.append("    description: |\n");
+                       definitionsLocalSb.append("    description: |\n");
+
+                       if ( pathDescriptionProperty != null ) {
+                               definitionsSb.append("      " + pathDescriptionProperty + "\n" );
+                               definitionsLocalSb.append("      " + pathDescriptionProperty    + "\n" );
+                       }
+                       definitionsSb.append(validEdges);
+                       definitionsLocalSb.append(validEdges);
+               }
+
+               if ( requiredCnt > 0 ) {
+                       definitionsSb.append(sbRequired);
+                       definitionsLocalSb.append(sbRequired);
+               }
+
+               if ( propertyCnt > 0 ) {
+                       definitionsSb.append("    properties:\n");
+                       definitionsSb.append(sbProperties);
+                       if  ( !processingInventoryDef) {
+                               definitionsLocalSb.append("    properties:\n");
+                       }
+                       definitionsLocalSb.append(sbProperties);
+               }
+               try {
+                       namespaceFilter.add(xmlRootElementName);
+                       if ( xmlRootElementName.equals("inventory") ) {
+                               //will add to javaTypeDefinitions at end
+                               inventoryDefSb.append(definitionsLocalSb.toString());
+                       } else if ( xmlRootElementName.equals("relationship") ){
+                               javaTypeDefinitions.put(xmlRootElementName, dict);
+                               javaTypeDefinitions.put(xmlRootElementName+ "-dict", definitionsLocalSb.toString());
+                       } else {
+                               javaTypeDefinitions.put(xmlRootElementName, definitionsLocalSb.toString());
+                       }
+               } catch (Exception e) {
+                       e.printStackTrace();
+                       logger.error("Exception adding in javaTypeDefinitions",e);
+               }
+               if ( xmlRootElementName.equals("inventory") ) {
+                       logger.trace("skip xmlRootElementName(2)="+xmlRootElementName);
+                       return null;
+               }
+               generatedJavaType.put(xmlRootElementName, null);
+/*
+               if( validTag(javaTypeName) && javaTypeName == useTag && tag == null) {
+                       String nameSpaceResult = getDocumentHeader()+pathSb.toString()+appendDefinitions(namespaceFilter);
+                       writeYAMLfile(javaTypeName, nameSpaceResult);
+                       totalPathSbAccumulator.append(pathSb);
+                       pathSb.delete(0, pathSb.length());
+                       namespaceFilter.clear();
+               }
+*/
+               logger.trace("xmlRootElementName(2)="+xmlRootElementName);
+               return null;
+       }
+
+       private void writeYAMLfile(String outfileName, String fileContent) {
+               outfileName = (StringUtils.isEmpty(outfileName)) ? "aai_swagger" : outfileName;
+               outfileName = (outfileName.lastIndexOf(File.separator) == -1) ? yaml_dir + File.separator +outfileName+"_" + v.toString() + "." + generateTypeYAML : outfileName;
+               File outfile = new File(outfileName);
+               File parentDir = outfile.getParentFile();
+               if(parentDir != null && ! parentDir.exists())
+                       parentDir.mkdirs();
+               try {
+                       outfile.createNewFile();
+               } catch (IOException e) {
+                       logger.error( "Exception creating output file " + outfileName);
+                       e.printStackTrace();
+               }
+               try {
+                       Charset charset = Charset.forName("UTF-8");
+                       Path path = Paths.get(outfileName);
+                       try(BufferedWriter bw = Files.newBufferedWriter(path, charset)){
+                               bw.write(fileContent);
+                       }
+               } catch ( IOException e) {
+                       logger.error( "Exception writing output file " + outfileName);
+                       e.printStackTrace();
+               }
+       }
+
+       public boolean validTag(String tag) {
+               if(tag != null) {
+                       switch ( tag ) {
+                       case "Network":
+//                     case "Search":
+//                     case "Actions":
+                       case "ServiceDesignAndCreation":
+                       case "Business":
+                       case "LicenseManagement":
+                       case "CloudInfrastructure":
+                       case "Common":
+                               return true;
+                       }
+               }
+               return false;
+       }
+
+}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/Api.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/Api.java
new file mode 100644 (file)
index 0000000..717b710
--- /dev/null
@@ -0,0 +1,318 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.swagger;
+
+import java.util.List;
+import java.util.Map;
+
+public class Api {
+
+    private String path;
+
+    private List<HttpVerb> httpMethods;
+
+    private String tag;
+
+    public List<HttpVerb> getHttpMethods() {
+        return httpMethods;
+    }
+
+    public void setHttpMethods(List<HttpVerb> httpMethods) {
+        this.httpMethods = httpMethods;
+    }
+
+    public String getTag(){
+
+        if(this.tag != null){
+            return this.tag;
+        }
+
+        if(this.httpMethods != null){
+            if(this.httpMethods.size() != 0){
+                if(this.httpMethods.get(0).getTags() != null){
+                    if(this.httpMethods.get(0).getTags().size() != 0){
+                        this.tag = this.httpMethods.get(0).getTags().get(0);
+                    }
+                }
+            }
+        }
+
+        if(this.tag == null){
+            this.tag = "";
+        }
+
+        return this.tag;
+    }
+
+    @Override
+    public String toString() {
+        return "Api{" +
+                "path='" + path + '\'' +
+                ", httpMethods=" + httpMethods +
+                '}';
+    }
+
+    public void setPath(String path) {
+        this.path = path;
+    }
+
+    public String getPath() {
+        return this.path;
+    }
+
+    public String getOperation(){
+
+        if(this.path != null){
+            return this.path.replaceAll("[^a-zA-Z0-9\\-]", "-") + "-";
+        }
+
+        return "";
+    }
+
+    public static class HttpVerb {
+
+        private List<String> tags;
+
+        private String type;
+
+        private String summary;
+
+        private String operationId;
+
+        private List<String> consumes;
+
+        private boolean consumerEnabled;
+
+        private List<String> produces;
+
+        private List<Response> responses;
+
+        private List<Map<String, Object>> parameters;
+
+        private Map<String, Object> bodyParameters;
+
+        private boolean bodyParametersEnabled;
+
+        private boolean parametersEnabled;
+
+        private String schemaLink;
+
+        private String schemaType;
+
+        private boolean hasReturnSchema;
+
+        private String returnSchemaLink;
+
+        private String returnSchemaObject;
+
+        public void setConsumerEnabled(boolean consumerEnabled){
+            this.consumerEnabled = consumerEnabled;
+        }
+
+        public boolean isConsumerEnabled() {
+            return consumerEnabled;
+        }
+
+
+        public List<String> getTags() {
+            return tags;
+        }
+
+        public void setTags(List<String> tags) {
+            this.tags = tags;
+        }
+
+        public String getType() {
+            return type;
+        }
+
+        public void setType(String type) {
+            this.type = type;
+        }
+
+        public String getSummary() {
+            return summary;
+        }
+
+        public void setSummary(String summary) {
+            this.summary = summary;
+        }
+
+        public String getOperationId() {
+            return operationId;
+        }
+
+        public void setOperationId(String operationId) {
+            this.operationId = operationId;
+        }
+
+        public List<String> getConsumes() {
+            return consumes;
+        }
+
+        public void setConsumes(List<String> consumes) {
+            this.consumes = consumes;
+        }
+
+        public List<String> getProduces() {
+            return produces;
+        }
+
+        public void setProduces(List<String> produces) {
+            this.produces = produces;
+        }
+
+        public List<Response> getResponses() {
+            return responses;
+        }
+
+        public void setResponses(List<Response> responses) {
+            this.responses = responses;
+        }
+
+        public List<Map<String, Object>> getParameters() {
+            return parameters;
+        }
+
+        public void setParameters(List<Map<String, Object>> parameters) {
+            this.parameters = parameters;
+        }
+
+        @Override
+        public String toString() {
+            return "HttpVerb{" +
+                    "tags=" + tags +
+                    ", type='" + type + '\'' +
+                    ", summary='" + summary + '\'' +
+                    ", operationId='" + operationId + '\'' +
+                    ", consumes=" + consumes +
+                    ", produces=" + produces +
+                    ", responses=" + responses +
+                    ", parameters=" + parameters +
+                    '}';
+        }
+
+        public void setParametersEnabled(boolean b) {
+            this.parametersEnabled = b;
+        }
+
+        public boolean isParametersEnabled() {
+            return parametersEnabled;
+        }
+
+        public boolean isBodyParametersEnabled() {
+            return bodyParametersEnabled;
+        }
+        public boolean isOpNotPatch() {
+               return type.equalsIgnoreCase("patch") ? false : true;
+        }
+
+        public void setBodyParametersEnabled(boolean bodyParametersEnabled) {
+            this.bodyParametersEnabled = bodyParametersEnabled;
+        }
+
+        public Map<String, Object> getBodyParameters() {
+            return bodyParameters;
+        }
+
+        public void setBodyParameters(Map<String, Object> bodyParameters) {
+            this.bodyParameters = bodyParameters;
+        }
+
+        public String getSchemaLink() {
+            return schemaLink;
+        }
+
+        public void setSchemaLink(String schemaLink) {
+            this.schemaLink = schemaLink;
+        }
+
+        public String getSchemaType() {
+            return schemaType;
+        }
+
+        public void setSchemaType(String schemaType) {
+            this.schemaType = schemaType;
+        }
+
+        public boolean isHasReturnSchema() {
+            return hasReturnSchema;
+        }
+
+        public void setHasReturnSchema(boolean hasReturnSchema) {
+            this.hasReturnSchema = hasReturnSchema;
+        }
+
+        public String getReturnSchemaLink() {
+            return returnSchemaLink;
+        }
+
+        public void setReturnSchemaLink(String returnSchemaLink) {
+            this.returnSchemaLink = returnSchemaLink;
+        }
+
+        public String getReturnSchemaObject() {
+            return returnSchemaObject;
+        }
+
+        public void setReturnSchemaObject(String returnSchemaObject) {
+            this.returnSchemaObject = returnSchemaObject;
+        }
+
+        public static class Response {
+
+            private String responseCode;
+
+            private String description;
+
+                       private String version;
+
+            public String getResponseCode() {
+                return responseCode;
+            }
+
+            public void setResponseCode(String responseCode) {
+                this.responseCode = responseCode;
+            }
+
+            public String getDescription() {
+                return description;
+            }
+
+            public void setDescription(String description) {
+                this.description = description;
+            }
+
+            @Override
+            public String toString() {
+                return "Response{" +
+                        "responseCode='" + responseCode + '\'' +
+                        ", description='" + description + '\'' +
+                        '}';
+            }
+
+                       public void setVersion(String version) {
+                               this.version = version;
+                       }
+        }
+
+    }
+
+}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/Definition.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/Definition.java
new file mode 100644 (file)
index 0000000..4a52020
--- /dev/null
@@ -0,0 +1,198 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.swagger;
+
+import java.util.List;
+
+public class Definition {
+
+    private String definitionName;
+
+    private String definitionDescription;
+
+    private List<Property> propertyList;
+
+    private List<Property> schemaPropertyList;
+
+    private List<Property> regularPropertyList;
+
+    private boolean hasDescription;
+
+    public String getDefinitionName() {
+        return definitionName;
+    }
+
+    public void setDefinitionName(String definitionName) {
+        this.definitionName = definitionName;
+    }
+
+    public List<Property> getPropertyList() {
+        return propertyList;
+    }
+
+    public void setPropertyList(List<Property> propertyList) {
+        this.propertyList = propertyList;
+    }
+
+    public String getDefinitionDescription() {
+        return definitionDescription;
+    }
+
+    public void setDefinitionDescription(String definitionDescription) {
+        this.definitionDescription = definitionDescription;
+    }
+
+    @Override
+    public String toString() {
+        return "Definition{" +
+                "definitionName='" + definitionName + '\'' +
+                ", definitionDescription='" + definitionDescription + '\'' +
+                ", propertyList=" + propertyList +
+                '}';
+    }
+
+    public boolean isHasDescription() {
+        return hasDescription;
+    }
+
+    public void setHasDescription(boolean hasDescription) {
+        this.hasDescription = hasDescription;
+    }
+
+    public List<Property> getSchemaPropertyList() {
+        return schemaPropertyList;
+    }
+
+    public void setSchemaPropertyList(List<Property> schemaPropertyList) {
+        this.schemaPropertyList = schemaPropertyList;
+    }
+
+    public List<Property> getRegularPropertyList() {
+        return regularPropertyList;
+    }
+
+    public void setRegularPropertyList(List<Property> regularPropertyList) {
+        this.regularPropertyList = regularPropertyList;
+    }
+
+    public static class Property {
+
+        private String propertyName;
+
+        private String propertyDescription;
+
+        private boolean hasPropertyDescription;
+
+        private String propertyType;
+
+        private boolean hasType;
+
+        private String propertyReference;
+
+        private String propertyReferenceObjectName;
+
+        private boolean isRequired;
+
+        private boolean hasPropertyReference;
+
+        public Property(){}
+
+        public String getPropertyName() {
+            return propertyName;
+        }
+
+        public void setPropertyName(String propertyName) {
+            this.propertyName = propertyName;
+        }
+
+        public String getPropertyType() {
+            return propertyType;
+        }
+
+        public void setPropertyType(String propertyType) {
+            this.propertyType = propertyType;
+        }
+
+        public String getPropertyReference() {
+            return propertyReference;
+        }
+
+        public void setPropertyReference(String propertyReference) {
+            this.propertyReference = propertyReference;
+        }
+
+        @Override
+        public String toString() {
+            return "Property{" +
+                    "propertyName='" + propertyName + '\'' +
+                    ", propertyType='" + propertyType + '\'' +
+                    ", propertyReference='" + propertyReference + '\'' +
+                    '}';
+        }
+
+        public boolean isHasType() {
+            return hasType;
+        }
+
+        public void setHasType(boolean hasType) {
+            this.hasType = hasType;
+        }
+
+        public boolean isRequired() {
+            return isRequired;
+        }
+
+        public void setRequired(boolean required) {
+            isRequired = required;
+        }
+
+        public boolean isHasPropertyReference() {
+            return hasPropertyReference;
+        }
+
+        public void setHasPropertyReference(boolean hasPropertyReference) {
+            this.hasPropertyReference = hasPropertyReference;
+        }
+
+        public String getPropertyReferenceObjectName() {
+            return propertyReferenceObjectName;
+        }
+
+        public void setPropertyReferenceObjectName(String propertyReferenceObjectName) {
+            this.propertyReferenceObjectName = propertyReferenceObjectName;
+        }
+
+        public String getPropertyDescription() {
+            return propertyDescription;
+        }
+
+        public void setPropertyDescription(String propertyDescription) {
+            this.propertyDescription = propertyDescription;
+        }
+
+        public boolean isHasPropertyDescription() {
+            return hasPropertyDescription;
+        }
+
+        public void setHasPropertyDescription(boolean hasPropertyDescription) {
+            this.hasPropertyDescription = hasPropertyDescription;
+        }
+    }
+}
diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/GenerateSwagger.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/swagger/GenerateSwagger.java
new file mode 100644 (file)
index 0000000..41c88ec
--- /dev/null
@@ -0,0 +1,487 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.swagger;
+
+import com.fasterxml.jackson.dataformat.yaml.snakeyaml.Yaml;
+import com.fasterxml.jackson.dataformat.yaml.snakeyaml.constructor.SafeConstructor;
+import freemarker.template.Configuration;
+import freemarker.template.Template;
+import freemarker.template.TemplateException;
+import org.onap.aai.setup.SchemaVersions;
+
+import java.io.*;
+import java.util.*;
+import java.util.stream.Collectors;
+
+public class GenerateSwagger {
+
+    public static final String LINE_SEPARATOR = System.getProperty("line.separator");
+    public static final String DEFAULT_WIKI = "";
+
+    public static final String DEFAULT_SCHEMA_DIR = "../aai-schema";
+    //if the program is run from aai-common, use this directory as default"
+    public static final String ALT_SCHEMA_DIR = "aai-schema";
+    //used to check to see if program is run from aai-schema-gen
+    public static final String DEFAULT_RUN_DIR = "aai-schema-gen";
+
+    public  static SchemaVersions schemaVersions;
+
+    public SchemaVersions getSchemaVersions() {
+               return schemaVersions;
+       }
+
+
+
+       public static void main(String[] args) throws IOException, TemplateException {
+
+
+
+
+       // SchemaVersions schemaVersions = SpringContextAware.getBean(SchemaVersions.class);
+        String CURRENT_VERSION   = schemaVersions.getDefaultVersion().toString();
+        String schemaDir         = System.getProperty("aai.schema.dir");
+        String versionToGenerate = System.getProperty("aai.generate.version");
+        String wikiLink = System.getProperty("aai.wiki.link");
+        String release  = System.getProperty("aai.release", "onap");
+
+        if(schemaDir == null){
+            if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains(DEFAULT_RUN_DIR)) {
+               System.out.println("Warning: Schema directory is not set so using default schema dir: " + ALT_SCHEMA_DIR);
+               schemaDir = ALT_SCHEMA_DIR;
+               }
+               else {
+                       System.out.println("Warning: Schema directory is not set so using default schema dir: " + DEFAULT_SCHEMA_DIR);
+                       schemaDir = DEFAULT_SCHEMA_DIR;
+               }
+        }
+
+        if(versionToGenerate == null){
+            System.out.println("Warning: Version to generate is not set so using default versionToGenerate " + CURRENT_VERSION);
+            versionToGenerate = CURRENT_VERSION;
+        }
+
+        if(wikiLink == null){
+            System.out.println("Warning: aai.wiki.link property is not set so using default");
+            wikiLink = DEFAULT_WIKI;
+        }
+
+        String yamlFile = schemaDir + "/src/main/resources/" + release + "/aai_swagger_yaml/aai_swagger_" + versionToGenerate + ".yaml";
+        File swaggerYamlFile = new File(yamlFile);
+
+        if(!swaggerYamlFile.exists()){
+            System.err.println("Unable to find the swagger yaml file: " + swaggerYamlFile);
+            System.exit(1);
+        }
+
+        Yaml yaml = new Yaml(new SafeConstructor());
+        Map<String, Object> swaggerMap = null;
+
+        try (BufferedReader reader = new BufferedReader(new FileReader(swaggerYamlFile))){
+            swaggerMap = (Map<String, Object>) yaml.load(reader);
+        } catch(Exception ex){
+            ex.printStackTrace();
+        }
+
+        if(null == swaggerMap) {
+            throw new IOException();
+        }
+
+        Map<String, Object> map = (Map<String, Object>) swaggerMap.get("paths");
+        Map<String, Object> schemaDefinitionmap = (Map<String, Object>) swaggerMap.get("definitions");
+        Map<String, Object> infoMap = (Map<String, Object>) swaggerMap.get("info");
+        Map<String, List<Api>> tagMap = new LinkedHashMap<>();
+
+        List<Api> apis = convertToApi(map);
+        apis.forEach((api) -> {
+            if(!tagMap.containsKey(api.getTag())){
+                List<Api> newApis = new ArrayList<>();
+                newApis.add(api);
+                tagMap.put(api.getTag(), newApis);
+            } else {
+                tagMap.get(api.getTag()).add(api);
+            }
+        });
+
+        Map<String, List<Api>> sortedTagMap = new TreeMap<>(tagMap);
+        sortedTagMap.forEach((key, value) -> {
+            value.sort(Comparator.comparing(Api::getPath));
+        });
+
+        Map<String, Object> resultMap = new HashMap<>();
+
+        List<Definition> definitionList = convertToDefinition(schemaDefinitionmap);
+
+        definitionList = definitionList
+            .stream().sorted(Comparator.comparing(Definition::getDefinitionName)).collect(Collectors.toList());
+
+        resultMap.put("aaiApis", tagMap);
+        resultMap.put("sortedAaiApis", sortedTagMap);
+        resultMap.put("wikiLink", wikiLink);
+        resultMap.put("definitions", definitionList);
+        resultMap.put("version", versionToGenerate);
+        if (infoMap.containsKey("description")) {
+            String infoDescription = infoMap.get("description").toString();
+
+            infoDescription = Arrays.stream(infoDescription.split("\n"))
+                    .map(line -> {
+                        line = line.trim();
+                        String hyperLink = "";
+                        if(line.trim().contains("Differences versus")) {
+                               return String.format("");
+                        }
+                        if(line.trim().contains("https://")){
+                            int startIndex = line.indexOf("https://");
+                            int endIndex = line.lastIndexOf("/");
+                            hyperLink = line.substring(startIndex, endIndex);
+                            return String.format("<a href=\"%s\">%s</a><br/>", hyperLink, line);
+                        }
+                        return String.format("%s<br/>", line);
+                    })
+
+                    .collect(Collectors.joining(LINE_SEPARATOR));
+
+            resultMap.put("description", infoDescription);
+        }
+
+        Configuration configuration = new Configuration();
+        configuration.setClassForTemplateLoading(Api.class, "/");
+        String resourcePath = "src/main/resources";
+        if(System.getProperty("user.dir") != null && !System.getProperty("user.dir").contains(DEFAULT_RUN_DIR)) {
+               configuration.setDirectoryForTemplateLoading(new File(DEFAULT_RUN_DIR + "/" + resourcePath));
+        }
+        else {
+               configuration.setDirectoryForTemplateLoading(new File(resourcePath));
+        }
+        Template template = configuration.getTemplate("swagger.html.ftl");
+
+        String outputDirStr = schemaDir + "/src/main/resources/" + release + "/aai_swagger_html";
+
+        File outputDir = new File(outputDirStr);
+
+        if(!outputDir.exists()){
+            boolean resp = outputDir.mkdir();
+            if(!resp){
+                System.err.println("Unable to create the directory: " + outputDirStr);
+                System.exit(1);
+            }
+        } else if(outputDir.isFile()){
+            System.err.println("Unable to create the directory: " + outputDirStr + " since a filename with that string exists");
+            System.exit(1);
+        }
+
+        Writer file = new FileWriter(new File(outputDirStr +  "/aai_swagger_" + versionToGenerate + ".html"));
+        template.process(resultMap, file);
+    }
+
+    public static List<Api> convertToApi(Map<String, Object> pathMap){
+
+        if(pathMap == null)
+            throw new IllegalArgumentException();
+
+        List<Api> apis = new ArrayList<>();
+
+        pathMap.forEach( (pathKey, pathValue) -> {
+
+            Api api = new Api();
+            Map<String, Object> httpVerbMap = (Map<String, Object>) pathValue;
+            List<Api.HttpVerb> httpVerbs = new ArrayList<>();
+
+            api.setPath(pathKey);
+
+            httpVerbMap.forEach((httpVerbKey, httpVerbValue) -> {
+
+                Api.HttpVerb httpVerb = new Api.HttpVerb();
+
+                Map<String, Object> httpVerbValueMap = (Map<String,Object>)httpVerbValue;
+
+                httpVerb.setType(httpVerbKey);
+
+                if(httpVerbValueMap.containsKey("tags")){
+                    httpVerb.setTags((List<String>)httpVerbValueMap.get("tags"));
+                }
+
+                if(httpVerbValueMap.containsKey("summary")){
+                    httpVerb.setSummary((String)httpVerbValueMap.get("summary"));
+                }
+
+                if(httpVerbValueMap.containsKey("operationId")){
+                    httpVerb.setOperationId((String)httpVerbValueMap.get("operationId"));
+                }
+
+                if(httpVerbValueMap.containsKey("consumes")){
+                    httpVerb.setConsumes((List<String>)httpVerbValueMap.get("consumes"));
+                    if(httpVerb.getConsumes() != null){
+                        httpVerb.setConsumerEnabled(true);
+                    }
+                }
+
+                if(httpVerbValueMap.containsKey("produces")){
+                    httpVerb.setProduces((List<String>)httpVerbValueMap.get("produces"));
+                }
+
+                if(httpVerbValueMap.containsKey("parameters")){
+                    List<Map<String, Object>> parameters = (List<Map<String, Object>>) httpVerbValueMap.get("parameters");
+                    List<Map<String, Object>> requestParameters = parameters
+                            .stream()
+                            .filter((parameter) -> !parameter.get("name").equals("body"))
+                            .collect(Collectors.toList());
+                    httpVerb.setParameters(requestParameters);
+                    if(httpVerb.getParameters() != null){
+                        httpVerb.setParametersEnabled(true);
+                    }
+
+                    List<Map<String, Object>> requestBodyList = parameters
+                            .stream()
+                            .filter((parameter) -> parameter.get("name").equals("body"))
+                            .collect(Collectors.toList());
+
+                    Map<String, Object> requestBody = null;
+
+                    if(requestBodyList != null && requestBodyList.size() == 1){
+                        requestBody = requestBodyList.get(0);
+                        for(String key : requestBody.keySet()) {
+                            //Filter out all the relationship links that appear in the YAML
+                               if(key.equals("description")) {
+                                       String reqBody=(String)requestBody.get(key);
+                                       if(reqBody.replaceAll("\\[.*.json\\)", "") != reqBody) {
+                                               requestBody.put(key, reqBody.replaceAll("\\[.*.json\\)", ""));
+                                       }
+                               }
+                            //Filter out all the patchDefinition links that appear in the YAML
+                               if(key.equals("schema")) {
+                                       LinkedHashMap<String,String> reqBody = (LinkedHashMap<String,String>)requestBody.get(key);
+                                       String schema=reqBody.get("$ref");
+                                       String schemaNopatch = schema.replace("patchDefinitions", "definitions");
+
+                                       if(! schema.equals(schemaNopatch)) {
+                                               reqBody.put("$ref", schemaNopatch);
+                                               requestBody.put(key, reqBody);
+                                       }
+                               }
+                        }
+                        httpVerb.setBodyParametersEnabled(true);
+                        httpVerb.setBodyParameters(requestBody);
+
+                        if(requestBody != null && requestBody.containsKey("schema")){
+                            Map<String, Object> schemaMap = (Map<String, Object>)requestBody.get("schema");
+                            if(schemaMap != null && schemaMap.containsKey("$ref")){
+                                String schemaLink = schemaMap.get("$ref").toString();
+                                httpVerb.setSchemaLink(schemaLink);
+                                int retCode = schemaLink.lastIndexOf('/');
+                                if(retCode != -1 && retCode != schemaLink.length()){
+                                    httpVerb.setSchemaType(schemaLink.substring(retCode));
+                                }
+                            }
+                        }
+                    }
+                }
+
+                if(httpVerbValueMap.containsKey("responses")){
+
+                    List<Api.HttpVerb.Response> responses = new ArrayList<Api.HttpVerb.Response>();
+
+                    Map<String, Object> responsesMap = (Map<String, Object>) httpVerbValueMap.get("responses");
+
+                    responsesMap
+                        .entrySet()
+                        .stream()
+                        .filter((res) -> !"default".equalsIgnoreCase(res.getKey()))
+                        .forEach((responseMap) -> {
+
+                            Map<String, Object> responseValueMap = (Map<String, Object>)responseMap.getValue();
+
+                            Api.HttpVerb.Response response = new Api.HttpVerb.Response();
+
+                            response.setResponseCode(responseMap.getKey());
+                            response.setDescription((String) responseValueMap.get("description"));
+                            response.setVersion((String) responseValueMap.get("version"));
+
+                            if(responseValueMap != null && responseValueMap.containsKey("schema")){
+                                Map<String, Object> schemaMap = (Map<String, Object>)responseValueMap.get("schema");
+                                if(schemaMap != null && schemaMap.containsKey("$ref")){
+                                    String schemaLink = schemaMap.get("$ref").toString();
+                                    httpVerb.setHasReturnSchema(true);
+                                    //Filter out all the getDefinition links that appear in the YAML
+                                    httpVerb.setReturnSchemaLink(schemaLink.replace("getDefinitions", "definitions"));
+                                    int retCode = schemaLink.lastIndexOf('/');
+                                    if(retCode != -1 && retCode != schemaLink.length()){
+                                        httpVerb.setReturnSchemaObject(schemaLink.substring(retCode));
+                                    }
+                                }
+                            }
+
+                            responses.add(response);
+                        }
+                    );
+
+                    httpVerb.setResponses(responses);
+                }
+
+                httpVerbs.add(httpVerb);
+            });
+
+            api.setHttpMethods(httpVerbs);
+            apis.add(api);
+        });
+
+        return apis;
+    }
+
+    public static List<Definition> convertToDefinition(Map<String, Object> definitionMap) {
+
+        if(definitionMap == null)
+            throw new IllegalArgumentException();
+
+        List<Definition> defintionsList = new ArrayList<>();
+
+        definitionMap
+            .entrySet()
+            .forEach((entry) -> {
+
+                Definition definition = new Definition();
+                String key = entry.getKey();
+                Map<String, Object> valueMap = (Map<String, Object>) entry.getValue();
+
+                definition.setDefinitionName(key);
+
+                if(valueMap.containsKey("description")){
+                    String description = valueMap.get("description").toString();
+                    description = formatDescription(description);
+                    definition.setDefinitionDescription(description);
+                    definition.setHasDescription(true);
+                }
+
+                List<Definition.Property> definitionProperties = new ArrayList<>();
+
+                List<String> requiredProperties = (valueMap.get("required") == null) ? new ArrayList<>() : (List<String>) valueMap.get("required");
+
+                Set<String> requiredPropsSet = requiredProperties.stream().collect(Collectors.toSet());
+
+                valueMap
+                    .entrySet()
+                    .stream()
+                    .filter( (e) -> "properties".equals(e.getKey()))
+                    .forEach((propertyEntries) -> {
+                        Map<String, Object> propertyRealEntries = (Map<String, Object>) propertyEntries.getValue();
+                        propertyRealEntries
+                            .entrySet()
+                            .forEach((propertyEntry) -> {
+                                Definition.Property definitionProperty = new Definition.Property();
+                                String propertyKey = propertyEntry.getKey();
+                                if(requiredPropsSet.contains(propertyKey)){
+                                    definitionProperty.setRequired(true);
+                                }
+                                definitionProperty.setPropertyName(propertyKey);
+                                Map<String, Object> definitionPropertyMap = (Map<String, Object>) propertyEntry.getValue();
+
+                                if(definitionPropertyMap.containsKey("description")){
+                                    definitionProperty.setPropertyDescription(definitionPropertyMap.get("description").toString());
+                                    definitionProperty.setHasPropertyDescription(true);
+                                }
+                                if(definitionPropertyMap.containsKey("type")){
+                                    String type = definitionPropertyMap.get("type").toString();
+                                    definitionProperty.setPropertyType(type);
+                                    definitionProperty.setHasType(true);
+                                    if ("array".equals(type)) {
+                                        definitionProperty.setPropertyType("object[]");
+                                        if(!definitionPropertyMap.containsKey("items")){
+                                            throw new RuntimeException("Unable to find the property items even though the type is array for " + propertyEntry.getKey());
+                                        } else {
+                                            Map<String, Object> itemMap = (Map<String, Object>) definitionPropertyMap.get("items");
+                                            if(itemMap.containsKey("$ref")){
+                                                definitionProperty.setHasPropertyReference(true);
+                                                String refItem = itemMap.get("$ref").toString();
+                                                int retCode = refItem.lastIndexOf('/');
+                                                if(retCode != -1 && retCode != refItem.length()){
+                                                    definitionProperty.setPropertyReferenceObjectName(refItem.substring(retCode + 1));
+                                                }
+                                                definitionProperty.setPropertyReference(refItem);
+                                            }
+                                        }
+                                    } else {
+                                        if(definitionPropertyMap.containsKey("$ref")){
+                                            definitionProperty.setHasPropertyReference(true);
+                                            String refItem = definitionPropertyMap.get("$ref").toString();
+                                            int retCode = refItem.lastIndexOf('/');
+                                            if(retCode != -1 && retCode != refItem.length()){
+                                                definitionProperty.setPropertyReferenceObjectName(refItem.substring(retCode + 1));
+                                            }
+                                            definitionProperty.setPropertyReference(refItem);
+                                        }
+                                    }
+                                }
+                                definitionProperties.add(definitionProperty);
+                            });
+                    });
+
+                definition.setPropertyList(definitionProperties);
+
+                List<Definition.Property> schemaProperties = definitionProperties.
+                        stream()
+                        .filter((o) -> o.isHasPropertyReference())
+                        .collect(Collectors.toList());
+
+                List<Definition.Property> regularProperties = definitionProperties.
+                        stream()
+                        .filter((o) -> !o.isHasPropertyReference())
+                        .collect(Collectors.toList());
+
+                definition.setRegularPropertyList(regularProperties);
+                definition.setSchemaPropertyList(schemaProperties);
+
+                defintionsList.add(definition);
+            });
+        return defintionsList;
+    }
+
+    public static String formatDescription(String description){
+
+        description = Arrays.stream(description.split("\n"))
+            .map((line) -> {
+                line = line.trim();
+                if(line.contains("######")){
+                    line = line.replaceAll("#", "");
+                    line = line.trim();
+                    String headerId = line.toLowerCase().replaceAll("\\s", "-");
+
+                    if(line.contains("Related Nodes")){
+                        return String.format("<h6 id=\"%s\">%s</h6>%s<ul>", headerId, line, LINE_SEPARATOR);
+                    } else {
+                        return String.format("<h6 id=\"%s\">%s</h6>", headerId, line);
+                    }
+                } else if(line.startsWith("-")){
+                    line = line.replaceFirst("-", "");
+                    line = line.trim();
+                    return String.format("<li>%s</li>", line);
+                } else {
+                    return String.format("<p>%s</p>", line);
+                }
+            })
+            .collect(Collectors.joining(LINE_SEPARATOR));
+
+        if(description.contains("<ul>")){
+            description = description + "</ul>";
+        }
+
+        return description;
+    }
+
+}
+
diff --git a/aai-schema-gen/src/main/resources/swagger.html.ftl b/aai-schema-gen/src/main/resources/swagger.html.ftl
new file mode 100644 (file)
index 0000000..1a2827f
--- /dev/null
@@ -0,0 +1,241 @@
+<#--
+
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 2017-18 AT&T Intellectual Property. All rights reserved.
+    Copyright © 2018 Huawei Technologies (Australia) Pty Ltd. 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=========================================================
+
+    ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+-->
+<!DOCTYPE html>
+<html>
+<head>
+<style>/*!
+ * Bootstrap v3.3.6 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@font-face{p EdgeRules.ftl
+    ont-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover,a.text-primary:focus{color:#286090}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover,a.text-danger:focus{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover,a.bg-primary:focus{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:800px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:900px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:34px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus,.btn-default.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#fff;background-color:#398439;border-color:#255625}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#337ab7;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#fff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform 0.6s ease-in-out;-moz-transition:-moz-transform 0.6s ease-in-out;-o-transition:-o-transform 0.6s ease-in-out;transition:transform 0.6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.panel-definition{border-color:#a2a2a2}.panel-definition>.panel-heading{color:#000;background-color:#eee;border-color:#a2a2a2}.panel-definition>.panel-heading+.panel-collapse>.panel-body{border-top-color:#a2a2a2}.panel-definition>.panel-heading .badge{color:#eee;background-color:#000}.panel-definition>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#a2a2a2}.json-schema-description:before{font-weight:bold;color:#555;text-transform:uppercase;content:"Description";padding-bottom:.5em;display:block}.json-schema-description:not(:last-child){padding-bottom:1.5em}.json-schema-properties:before{font-weight:bold;color:#555;text-transform:uppercase;content:"Properties";padding-bottom:.5em;display:block}.json-schema-properties:not(:last-child){padding-bottom:1.5em}.json-schema-properties dd:not(:last-child){padding-bottom:1em}.json-schema-properties dl{margin:0}.json-schema-example:before{font-weight:bold;color:#555;text-transform:uppercase;content:"Example";padding-bottom:.5em;display:block}.json-schema-example:not(:last-child){padding-bottom:1.5em}.json-schema-array-items:before{font-weight:bold;color:#555;text-transform:uppercase;content:"Items";padding-bottom:.5em;display:block}.json-schema-array-items:not(:last-child){padding-bottom:1.5em}.json-schema-allOf-inherited:before{font-weight:bold;color:#555;text-transform:uppercase;content:"Inherited";padding-bottom:.5em;display:block}.json-schema-allOf-inherited:not(:last-child){padding-bottom:1.5em}.json-schema-allOf-inherited ul{padding-left:0;list-style:none}.json-schema-anyOf>dl{border-left:2px solid #a2a2a2;padding-left:1em}.json-schema-anyOf>dl dt:not(:first-child):before{content:"or "}.json-schema-anyOf>dl dt:first-child:before{content:"either "}.json-schema-additionalProperties:before{font-weight:bold;color:#555;text-transform:uppercase;content:"Additional properties";padding-bottom:.5em;display:block}.json-schema-additionalProperties:not(:last-child){padding-bottom:1.5em}.json-inner-schema .json-schema-properties,.json-inner-schema .json-schema-array-items,.json-inner-schema .json-schema-description,.json-inner-schema .json-schema-example{padding-left:1em;margin-top:.5em;padding-bottom:.5em;border-left:2px solid #a2a2a2}.json-property-discriminator:before{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em;background-color:#777;content:"discriminator"}a.json-property-discriminator:before:hover,a.json-property-discriminator:before:focus{color:#fff;text-decoration:none;cursor:pointer}.json-property-discriminator:before:empty{display:none}.btn .json-property-discriminator:before{position:relative;top:-1px}.json-property-discriminator:before[href]:hover,.json-property-discriminator:before[href]:focus{background-color:#5e5e5e}.json-property-required:before{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em;background-color:#777;content:"required"}a.json-property-required:before:hover,a.json-property-required:before:focus{color:#fff;text-decoration:none;cursor:pointer}.json-property-required:before:empty{display:none}.btn .json-property-required:before{position:relative;top:-1px}.json-property-required:before[href]:hover,.json-property-required:before[href]:focus{background-color:#5e5e5e}.json-property-read-only:before{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em;background-color:#777;content:"read only"}a.json-property-read-only:before:hover,a.json-property-read-only:before:focus{color:#fff;text-decoration:none;cursor:pointer}.json-property-read-only:before:empty{display:none}.btn .json-property-read-only:before{position:relative;top:-1px}.json-property-read-only:before[href]:hover,.json-property-read-only:before[href]:focus{background-color:#5e5e5e}.json-property-type{font-style:italic;font-weight:100}.json-property-format{font-size:smaller}.json-property-enum{font-weight:lighter;font-size:small}.json-property-default-value{font-weight:lighter;font-size:small}.json-property-default-value:before{content:'(default: "'}.json-property-default-value:after{content:'")'}.json-property-enum-item{font-weight:lighter;font-size:small}.json-property-enum-item:before,.json-property-enum-item:after{content:"\""}.json-schema--reference{font-size:90%}.table.swagger--summary>tbody>tr>td.swagger--summary-path{vertical-align:middle}.table.swagger--summary>tbody>tr>td p{margin:0}.swagger--panel-operation-post{border-color:#78cc94}.swagger--panel-operation-post>.panel-heading{color:#333;background-color:#e7f6ec;border-color:#78cc94}.swagger--panel-operation-post>.panel-heading+.panel-collapse>.panel-body{border-top-color:#78cc94}.swagger--panel-operation-post>.panel-heading .badge{color:#e7f6ec;background-color:#333}.swagger--panel-operation-post>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#78cc94}.swagger--panel-operation-post .operation-name{font-weight:bold}.swagger--panel-operation-post .operation-summary{float:right !important}.swagger--panel-operation-get{border-color:#74a8d1}.swagger--panel-operation-get>.panel-heading{color:#333;background-color:#e7f0f7;border-color:#74a8d1}.swagger--panel-operation-get>.panel-heading+.panel-collapse>.panel-body{border-top-color:#74a8d1}.swagger--panel-operation-get>.panel-heading .badge{color:#e7f0f7;background-color:#333}.swagger--panel-operation-get>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#74a8d1}.swagger--panel-operation-get .operation-name{font-weight:bold}.swagger--panel-operation-get .operation-summary{float:right !important}.swagger--panel-operation-put{border-color:#d8ab71}.swagger--panel-operation-put>.panel-heading{color:#333;background-color:#f9f2e9;border-color:#d8ab71}.swagger--panel-operation-put>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d8ab71}.swagger--panel-operation-put>.panel-heading .badge{color:#f9f2e9;background-color:#333}.swagger--panel-operation-put>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d8ab71}.swagger--panel-operation-put .operation-name{font-weight:bold}.swagger--panel-operation-put .operation-summary{float:right !important}.swagger--panel-operation-patch{border-color:#ed7c59}.swagger--panel-operation-patch>.panel-heading{color:#333;background-color:#FCE9E3;border-color:#ed7c59}.swagger--panel-operation-patch>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ed7c59}.swagger--panel-operation-patch>.panel-heading .badge{color:#FCE9E3;background-color:#333}.swagger--panel-operation-patch>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ed7c59}.swagger--panel-operation-patch .operation-name{font-weight:bold}.swagger--panel-operation-patch .operation-summary{float:right !important}.swagger--panel-operation-options{border-color:#74a8d1}.swagger--panel-operation-options>.panel-heading{color:#333;background-color:#e7f0f7;border-color:#74a8d1}.swagger--panel-operation-options>.panel-heading+.panel-collapse>.panel-body{border-top-color:#74a8d1}.swagger--panel-operation-options>.panel-heading .badge{color:#e7f0f7;background-color:#333}.swagger--panel-operation-options>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#74a8d1}.swagger--panel-operation-options .operation-name{font-weight:bold}.swagger--panel-operation-options .operation-summary{float:right !important}.swagger--panel-operation-delete{border-color:#c77d7d}.swagger--panel-operation-delete>.panel-heading{color:#333;background-color:#f5e8e8;border-color:#c77d7d}.swagger--panel-operation-delete>.panel-heading+.panel-collapse>.panel-body{border-top-color:#c77d7d}.swagger--panel-operation-delete>.panel-heading .badge{color:#f5e8e8;background-color:#333}.swagger--panel-operation-delete>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#c77d7d}.swagger--panel-operation-delete .operation-name{font-weight:bold}.swagger--panel-operation-delete .operation-summary{float:right !important}.swagger--panel-operation-head{border-color:#f3ff34}.swagger--panel-operation-head>.panel-heading{color:#333;background-color:#fcffcd;border-color:#f3ff34}.swagger--panel-operation-head>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f3ff34}.swagger--panel-operation-head>.panel-heading .badge{color:#fcffcd;background-color:#333}.swagger--panel-operation-head>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f3ff34}.swagger--panel-operation-head .operation-name{font-weight:bold}.swagger--panel-operation-head .operation-summary{float:right !important}.sw-operation-description:before{font-weight:bold;color:#555;text-transform:uppercase;content:"Description";padding-bottom:.5em;display:block}.sw-operation-description:not(:last-child){padding-bottom:1.5em}.sw-request-params:before{font-weight:bold;color:#555;text-transform:uppercase;content:"Request parameters";padding-bottom:.5em;display:block}.sw-request-params:not(:last-child){padding-bottom:1.5em}.sw-request-body:before{font-weight:bold;color:#555;text-transform:uppercase;content:"Request body";padding-bottom:.5em;display:block}.sw-request-body:not(:last-child){padding-bottom:1.5em}.sw-responses:before{font-weight:bold;color:#555;text-transform:uppercase;content:"Responses";padding-bottom:.5em;display:block}.sw-responses:not(:last-child){padding-bottom:1.5em}.swagger--global:before{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em;background-color:#777;content:'global'}a.swagger--global:before:hover,a.swagger--global:before:focus{color:#fff;text-decoration:none;cursor:pointer}.swagger--global:before:empty{display:none}.btn .swagger--global:before{position:relative;top:-1px}.swagger--global:before[href]:hover,.swagger--global:before[href]:focus{background-color:#5e5e5e}table.table th.sw-param-key{width:auto}table.table th.sw-param-key:before{content:"Key"}table.table th.sw-param-name{width:auto}table.table th.sw-param-name:before{content:"Name"}table.table th.sw-param-description{width:auto}table.table th.sw-param-description:before{content:"Description"}table.table th.sw-param-data-type{width:auto}table.table th.sw-param-data-type:before{content:"Data type"}table.table th.sw-param-type{width:auto}table.table th.sw-param-type:before{content:"Type"}table.table th.sw-request-security-schema{width:auto}table.table th.sw-request-security-schema:before{content:"Schema"}table.table th.sw-request-security-scopes{width:auto}table.table th.sw-request-security-scopes:before{content:"Scopes"}table.table th.sw-response-header-name{width:auto}table.table th.sw-response-header-name:before{content:"Header"}table.table th.sw-response-header-description{width:auto}table.table th.sw-response-header-description:before{content:"Description"}table.table th.sw-response-header-data-type{width:auto}table.table th.sw-response-header-data-type:before{content:"Data type"}.sw-response-name-value{font-weight:bold}.sw-response-description-text{padding-bottom:.5em}code.highlight{padding:0}.panel-security-definition{border-color:#a2a2a2}.panel-security-definition>.panel-heading{color:#000;background-color:#eee;border-color:#a2a2a2}.panel-security-definition>.panel-heading+.panel-collapse>.panel-body{border-top-color:#a2a2a2}.panel-security-definition>.panel-heading .badge{color:#eee;background-color:#000}.panel-security-definition>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#a2a2a2}.sw-request-security:before{font-weight:bold;color:#555;text-transform:uppercase;content:"Security";padding-bottom:.5em;display:block}.sw-request-security:not(:last-child){padding-bottom:1.5em}.sw-security-definition-basic:before{color:#555;font-size:smaller;content:"(HTTP Basic Authentication)"}span.sw-default-value-header{font-weight:bold}.sw-info-version{font-weight:bold}.sw-info-version span{font-family:monospace;font-weight:normal;font-size:1.1em}</style>
+    
+    <meta charset="UTF-8">
+    <title>Active and Available Inventory REST API.</title>
+</head>
+<body>
+<div class="container">
+    <h1>Active and Available Inventory REST API.</h1>
+    <p class="sw-info-version">Version: <span>${version}</span></p>
+    <p><p>${description}</p>
+    </p>
+    
+    <div id="sw-schemes" class="sw-default-value">
+        <span class="sw-default-value-header">Schemes:</span>
+        https
+    </div>
+
+       <h2 id="swagger--summary-tags">Summary</h2>
+       <ol>
+       <#list aaiApis?keys as key>
+       <li><a href="#tag-${key}">Tag: ${key}</a>
+       </#list>
+       <li><a href="#Paths">Paths</a>
+       <li><a href="#SchemaDefinitions">Schema definitions</a>
+       </ol>
+
+       <#list aaiApis?keys as key>
+       <h3 id="tag-${key}" class="swagger-summary-tag">Tag: ${key}</h3>
+       <table class="table table-bordered table-condensed swagger--summary">
+               <thead><tr>
+                       <th>Operation</th><th>Description</th>
+               </tr></thead>
+               <tbody>
+               <#list aaiApis[key] as api>
+               <#list api.getHttpMethods() as httpVerb>
+               <tr><td><a href="#operation-${api.getOperation()}${httpVerb.getType()}">
+                       ${httpVerb.getType()?upper_case} ${api.getPath()}</a></td>
+                       <td><p>${httpVerb.getSummary()}</p></td>
+               </tr>
+               </#list>
+               </#list>
+               </tbody>
+       </table>
+       </#list>
+
+       <h2 id="Paths">Paths</h2>
+       <#list sortedAaiApis?keys as key>
+       <#list sortedAaiApis[key] as api>
+       <#list api.getHttpMethods() as httpVerb>
+       <span id="path-${api.getOperation()}"></span>
+       <div id="operation-${api.getOperation()}${httpVerb.getType()}" class="swagger--panel-operation-${httpVerb.getType()} panel">
+               <div class="panel-heading">
+                       <div class="operation-summary">${httpVerb.getSummary()}</div>
+                       <h3 class="panel-title"><span class="operation-name">${httpVerb.getType()?upper_case}</span>
+                       <strong>${api.getPath()}</strong></h3>
+                       Tags: <a href="#tag-${api.getTag()}">${api.getTag()}</a>
+               </div>
+               <div class="panel-body">
+                       <section class="sw-operation-description">
+                               <p>${httpVerb.getSummary()}</p>
+                       </section>
+                       <#if httpVerb.isConsumerEnabled()>
+                       <section class="sw-request-body">
+                               <p><span class="label label-default">application/json</span> <span class="label label-default">application/xml</span> </p>
+                               <#if httpVerb.isBodyParametersEnabled()>
+                               <div class="row">
+                                       <div class="col-md-6">
+                                               <p><p>${httpVerb.getBodyParameters()["description"]}</p></p>
+                                       </div>
+                                       <div class="col-md-6 sw-request-model">
+                                               <div  class="panel panel-definition">
+                                                       <div class="panel-body">
+                                                       <a class="json-schema-ref" href="${httpVerb.getSchemaLink()}">${httpVerb.getSchemaType()}</a>
+                               </div></div></div></div>
+                               </#if>
+                       </section>
+                       </#if>
+                       <#if httpVerb.isParametersEnabled()>
+                       <section class="sw-request-params">
+                       <table class="table">
+                               <thead><tr>
+                                       <th class="sw-param-name"></th>
+                                       <th class="sw-param-description"></th>
+                                       <th class="sw-param-type"></th>
+                                       <th class="sw-param-data-type"></th>
+                                       <th class="sw-param-annotation"></th>
+                               </tr></thead>
+                               <tbody>
+                                       <#list httpVerb.getParameters() as param>
+                                       <tr><td>${param["name"]}</td>
+                                               <td>
+                                                       <#if param['description']??>
+                                                       <p>${param["description"]}</p>
+                                                       </#if>
+                                               </td>
+                                               <td>${param["in"]}</td>
+                                               <td>
+                                                       <#if param['type']??>
+                                                       <span class="json-property-type">${param["type"]}</span>
+                                                       <span class="json-property-range" title="Value limits"></span>
+                                                       </#if>
+                                               </td>
+                                               <td>
+                                                       <#if param['required']>
+                                                       <span class="json-property-required"></span>
+                                                       </#if>
+                                               </td>
+                                       </tr>
+                                       </#list>
+                               </tbody>
+                       </table></section>
+                       </#if>
+
+                       <section class="sw-responses">
+                               <p><span class="label label-default">application/json</span> <span class="label label-default">application/xml</span> </p>
+                               <dl>
+                                       <#list httpVerb.getResponses() as response>
+                                       <dt class="sw-response-${response.getResponseCode()}">
+                                               ${response.getResponseCode()} OK
+                                       </dt>
+                                       <dd class="sw-response-${response.getResponseCode()}">
+                                               <div class="row"><div class="col-md-12">
+                                                       <p>successful operation</p>
+                                               </div></div>
+                                               <div class="row">
+                                                       <#if httpVerb.isHasReturnSchema()>
+                                                       <div class="col-md-6 sw-response-model">
+                                                               <div  class="panel panel-definition">
+                                                                       <div class="panel-body">
+                                                                               <a class="json-schema-ref" href="${httpVerb.getReturnSchemaLink()}">${httpVerb.getReturnSchemaObject()}</a>
+                                                       </div></div></div>
+                                                       </#if>
+                                               </div>
+                                       </dd>
+                                       </#list>
+                                       <dt class="sw-response-default">default</dt>
+                                       <dd class="sw-response-default">
+                                               <div class="row"><div class="col-md-12">
+                                                       <p>Response codes found in <a href="${wikiLink}">response codes</a>.</p>
+                                               </div></div>
+                                               <div class="row"><div class="col-md-6 sw-response-model"></div></div>
+                                       </dd>
+                               </dl>
+                       </section>
+               </div>
+       </div>
+
+       </#list>
+       </#list>
+       </#list>
+
+       <h2 id="SchemaDefinitions">Schema definitions</h2>
+       <#list definitions as definition>
+       <div id="definition-${definition.getDefinitionName()}" class="panel panel-definition">
+               <div class="panel-heading"><h3 class="panel-title">
+                       <a name="/definitions/${definition.getDefinitionName()}"></a>${definition.getDefinitionName()}:
+                       <span class="json-property-type"><span class="json-property-type">object</span>
+                       <span class="json-property-range" title="Value limits"></span></span>
+               </h3></div>
+               <div class="panel-body">
+                       <#if definition.isHasDescription()>     
+                       <section class="json-schema-description">
+                               ${definition.getDefinitionDescription()}
+                       </section>
+                       </#if>
+                       <section class="json-schema-properties"><dl>
+                               <#list definition.getRegularPropertyList() as definitionProperty>
+                               <dt data-property-name="${definitionProperty.getPropertyName()}">
+                                       <span class="json-property-name">${definitionProperty.getPropertyName()}:</span>
+                                       <#if definitionProperty.isHasType()>
+                                       <span class="json-property-type">${definitionProperty.getPropertyType()}</span>
+                                       </#if>
+                                       <span class="json-property-range" title="Value limits"></span>
+                                       <#if definitionProperty.isRequired()>
+                                       <span class="json-property-required"></span>
+                                       </#if>
+                               </dt>
+                               <dd>
+                                       <#if definitionProperty.isHasPropertyDescription()>
+                                       <p>${definitionProperty.getPropertyDescription()}</p>
+                                       </#if>
+                                       <div class="json-inner-schema"></div>
+                               </dd>
+                               </#list>
+                               <#list definition.getSchemaPropertyList() as definitionProperty>
+                               <dt data-property-name="${definitionProperty.getPropertyName()}">
+                                       <span class="json-property-name">${definitionProperty.getPropertyName()}:</span>
+                                       <#if definitionProperty.isHasType()>
+                                       <span class="json-property-type">${definitionProperty.getPropertyType()}</span>
+                                       </#if>
+                                       <span class="json-property-range" title="Value limits"></span>
+                                       <#if definitionProperty.isRequired()>
+                                       <span class="json-property-required"></span>
+                                       </#if>
+                               </dt>
+                               <dd><div class="json-inner-schema"><section class="json-schema-array-items">
+                                       <span class="json-property-type">
+                                       <a class="json-schema-ref" href="${definitionProperty.getPropertyReference()}">${definitionProperty.getPropertyReferenceObjectName()}</a></span>
+                                       <span class="json-property-range" title="Value limits"></span>
+                                       <div class="json-inner-schema"></div>
+                               </section></div></dd>
+                               </#list>
+                       </dl></section>
+       </div></div>
+
+       </#list>
+</div>
+</body>
+</html>
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/GenerateXsdTest.java
new file mode 100644 (file)
index 0000000..b17a0ee
--- /dev/null
@@ -0,0 +1,148 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen;
+
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.aai.edges.EdgeIngestor;
+import org.onap.aai.nodes.NodeIngestor;
+import org.onap.aai.schemagen.genxsd.*;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+import org.onap.aai.schemagen.testutils.TestUtilConfigTranslatorforBusiness;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.AnnotationConfigApplicationContext;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import java.io.BufferedWriter;
+import java.io.FileWriter;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = {
+        SchemaLocationsBean.class,
+        TestUtilConfigTranslatorforBusiness.class,
+        EdgeIngestor.class,
+        NodeIngestor.class,
+               SwaggerGenerationConfiguration.class,
+               SchemaVersions.class
+})
+@TestPropertySource(properties = {
+               "schema.uri.base.path = /aai",
+               "schema.xsd.maxoccurs = 5000"
+})
+public class GenerateXsdTest {
+       private static final Logger logger = LoggerFactory.getLogger("GenerateXsd.class");
+       private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml";
+       private static final String EDGEFILENAME = "src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json";
+       public static AnnotationConfigApplicationContext ctx = null;
+       private static String testXML;
+
+       @Autowired
+    YAMLfromOXM yamlFromOxm;
+
+       @Autowired
+    HTMLfromOXM htmlFromOxm;
+
+       @Autowired
+    SchemaVersions schemaVersions;
+
+       @BeforeClass
+       public static void setUpBeforeClass() throws Exception {
+               XSDElementTest x = new XSDElementTest();
+               x.setUp();
+               testXML = x.getTestXML();
+               logger.debug(testXML);
+               BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
+               bw.write(testXML);
+               bw.close();
+               BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
+               bw1.write(YAMLfromOXMTest.EdgeDefs());
+               bw1.close();
+
+       }
+
+       @Before
+       public void setUp() throws Exception {
+               //PowerMockito.mockStatic(GenerateXsd.class);
+               XSDElementTest x = new XSDElementTest();
+               x.setUp();
+               testXML = x.getTestXML();
+//             logger.info(testXML);
+       }
+
+       @Test
+       public void test_generateSwaggerFromOxmFile( ) {
+
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String apiVersion = v.toString();
+               String fileContent = null;
+               try {
+
+                       yamlFromOxm.setXmlVersion(testXML, v);
+                       fileContent = yamlFromOxm.process();
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               assertThat(fileContent, is(new YAMLfromOXMTest().YAMLresult()));
+       }
+
+       @Test
+       public void test_generateXSDFromOxmFile( ) {
+
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String fileContent = null;
+               try {
+                       htmlFromOxm.setXmlVersion(testXML, v);
+                       fileContent = htmlFromOxm.process();
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+//             logger.debug(fileContent);
+               assertThat(fileContent, is(new HTMLfromOXMTest().HTMLresult()));
+       }
+
+       @Test
+       public void testGetAPIVersion() {
+               GenerateXsd.apiVersion = schemaVersions.getAppRootVersion().toString();
+               assertThat(GenerateXsd.getAPIVersion(),is("v11"));
+       }
+
+       @Test
+       public void testGetYamlDir() {
+               assertThat(GenerateXsd.getYamlDir(),is("aai-schema/src/main/resources/onap/aai_swagger_yaml"));
+       }
+
+       @Test
+       public void testGetResponsesUrl() {
+               assertNull(GenerateXsd.getResponsesUrl());
+       }
+}
+
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteFootnoteSetTest.java
new file mode 100644 (file)
index 0000000..5261a56
--- /dev/null
@@ -0,0 +1,83 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import java.util.Arrays;
+import java.util.Collection;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+@RunWith(Parameterized.class)
+public class DeleteFootnoteSetTest {
+       String targetNode;
+       String flavor;
+       String result;
+       DeleteFootnoteSet footnotes = null;
+
+       @Parameters
+       public static Collection<String[]> testConditions() {
+               String inputs [][] = {
+               {"vserver","(1)", "\n      -(1) IF this VSERVER node is deleted, this FROM node is DELETED also\n"},
+               {"ctag-pool","(2)", "\n      -(2) IF this CTAG-POOL node is deleted, this TO node is DELETED also\n"},
+               {"pserver","(3)", "\n      -(3) IF this FROM node is deleted, this PSERVER is DELETED also\n"},
+               {"oam-network","(4)", "\n      -(4) IF this TO node is deleted, this OAM-NETWORK is DELETED also\n"},
+               {"dvs-switch","(1)", "\n      -(1) IF this DVS-SWITCH node is deleted, this FROM node is DELETED also\n"},
+               {"availability-zone","(3)", "\n      -(3) IF this FROM node is deleted, this AVAILABILITY-ZONE is DELETED also\n"}
+               };
+               return (Arrays.asList(inputs));
+       }
+
+       public DeleteFootnoteSetTest(String targetNode, String flavor, String result) {
+               super();
+               this.targetNode = targetNode;
+               this.flavor = flavor;
+               this.result=result;
+       }
+
+       @Before
+       public void setUp() throws Exception {
+               footnotes = new DeleteFootnoteSet(this.targetNode);
+       }
+
+       @Test
+       public void testDeleteFootnoteSet() {
+               assertThat(footnotes.targetNode, is(this.targetNode));
+       }
+
+       @Test
+       public void testAdd() {
+               footnotes.add(this.flavor);
+               assertThat(footnotes.footnotes.size(), is(1));
+       }
+
+       @Test
+       public void testToString() {
+               footnotes.add(this.flavor);
+               assertThat(footnotes.toString(), is(this.result));
+       }
+
+}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/DeleteOperationTest.java
new file mode 100644 (file)
index 0000000..9b0bae8
--- /dev/null
@@ -0,0 +1,81 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import java.util.Arrays;
+import java.util.Collection;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+@RunWith(Parameterized.class)
+public class DeleteOperationTest {
+       private String useOpId;
+       private String xmlRootElementName;
+       private String tag;
+       private String path;
+       private String pathParams;
+       private String result;
+
+       @Parameters
+       public static Collection<String []> testConditions() {
+               String inputs [][] = {
+               {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__\n","    delete:\n      tags:\n        - Network\n      summary: delete an existing generic-vnf\n      description: delete an existing generic-vnf\n      operationId: deleteNetworkGenericVnfsGenericVnf\n      consumes:\n        - application/json\n        - application/xml\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"default\":\n          null      parameters:\n        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__\n        - name: resource-version\n          in: query\n          description: resource-version for concurrency\n          required: true\n          type: string\n"},
+//             if ( StringUtils.isEmpty(tag) )
+               {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__\n",""},
+//             Test: if ( !path.endsWith("/relationship")  &&  !path.endsWith("}") )
+               {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces","        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__",""},
+//             {"","ctag-pool","","","",""},
+//             {"","pserver","","","",""},
+//             {"","oam-network","","","",""},
+//             {"","dvs-switch","","","",""},
+//             {"","availability-zone","","","",""}
+               };
+               return Arrays.asList(inputs);
+       }
+
+       public DeleteOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
+               super();
+               this.useOpId = useOpId;
+               this.xmlRootElementName = xmlRootElementName;
+               this.tag = tag;
+               this.path = path;
+               this.pathParams=pathParams;
+               this.result = result;
+       }
+       @BeforeClass
+       public static void setUpBeforeClass() throws Exception {
+
+       }
+
+       @Test
+       public void testToString() {
+               DeleteOperation delete = new DeleteOperation(useOpId, xmlRootElementName, tag, path,  pathParams);
+               String modResult = delete.toString();
+               assertThat(modResult, is(this.result));
+       }
+
+}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/EdgeDescriptionTest.java
new file mode 100644 (file)
index 0000000..ceddafe
--- /dev/null
@@ -0,0 +1,348 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import com.google.common.collect.Multimap;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.aai.edges.EdgeIngestor;
+import org.onap.aai.edges.EdgeRule;
+import org.onap.aai.edges.exceptions.EdgeRuleNotFoundException;
+import org.onap.aai.schemagen.testutils.TestUtilConfigTranslatorforEdges;
+import org.onap.aai.setup.ConfigTranslator;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.util.*;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertTrue;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = {SchemaVersions.class, SchemaLocationsBean.class,  TestUtilConfigTranslatorforEdges.class, EdgeIngestor.class})
+@TestPropertySource(properties = {"schemaIngestPropLoc = src/test/resources/schemaIngest/schemaIngestTest.properties"})
+
+
+public class EdgeDescriptionTest  {
+       private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json";
+       @Autowired
+    ConfigTranslator ct;
+       @Autowired
+    EdgeIngestor edgeIngestor;
+       String nodeName = "availability-zone";
+       String toNode = "complex";
+       SchemaVersion v10 = new SchemaVersion("v10");
+       @BeforeClass
+       public static void setUpBeforeClass() throws Exception {
+               String json = "{"
+                               + "     \"rules\": ["
+                               + "             {"
+                               + "                     \"from\": \"availability-zone\","
+                               + "                     \"to\": \"complex\","
+                               + "                     \"label\": \"org.onap.relationships.inventory.LocatedIn\","
+                               + "                     \"direction\": \"OUT\","
+                               + "                     \"multiplicity\": \"MANY2ONE\","
+                               + "                     \"contains-other-v\": \"NONE\","
+                               + "                     \"delete-other-v\": \"NONE\","
+                               + "                     \"SVC-INFRA\": \"NONE\","
+                               + "                     \"prevent-delete\": \"!${direction}\","
+                               + "                     \"default\": \"true\","
+                               + "                     \"description\":\"this description\""
+                               + "             },"
+                               + "    {"
+                               + "                     \"from\": \"availability-zone\","
+                               + "                     \"to\": \"service-capability\","
+                               + "                     \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+                               + "                     \"direction\": \"OUT\","
+                               + "                     \"multiplicity\": \"MANY2MANY\","
+                               + "                     \"contains-other-v\": \"NONE\","
+                               + "                     \"delete-other-v\": \"NONE\","
+                               + "                     \"SVC-INFRA\": \"NONE\","
+                               + "                     \"prevent-delete\": \"!${direction}\","
+                               + "                     \"default\": \"true\","
+                               + "                     \"description\":\"\""
+                               + "             },"
+                               + "             {"
+                               + "                     \"from\": \"availability-zone\","
+                               + "                     \"to\": \"cloud-region\","
+                               + "                     \"label\": \"org.onap.relationships.inventory.BelongsTo\","
+                               + "                     \"direction\": \"OUT\","
+                               + "                     \"multiplicity\": \"MANY2ONE\","
+                               + "                     \"contains-other-v\": \"!${direction}\","
+                               + "                     \"delete-other-v\": \"!${direction}\","
+                               + "                     \"SVC-INFRA\": \"NONE\","
+                               + "                     \"prevent-delete\": \"NONE\","
+                               + "                     \"default\": \"true\","
+                               + "                     \"description\":\"\""
+                               + "             },"
+                               + "             {"
+                               + "                     \"from\": \"ctag-pool\","
+                               + "                     \"to\": \"availability-zone\","
+                               + "                     \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+                               + "                     \"direction\": \"OUT\","
+                               + "                     \"multiplicity\": \"MANY2MANY\","
+                               + "                     \"contains-other-v\": \"${direction}\","
+                               + "                     \"delete-other-v\": \"NONE\","
+                               + "                     \"SVC-INFRA\": \"NONE\","
+                               + "                     \"prevent-delete\": \"!${direction}\","
+                               + "                     \"default\": \"true\","
+                               + "                     \"description\":\"\""
+                               + "             },"
+                               + "             {"
+                               + "                     \"from\": \"dvs-switch\","
+                               + "                     \"to\": \"availability-zone\","
+                               + "                     \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+                               + "                     \"direction\": \"OUT\","
+                               + "                     \"multiplicity\": \"MANY2MANY\","
+                               + "                     \"contains-other-v\": \"NONE\","
+                               + "                     \"delete-other-v\": \"NONE\","
+                               + "                     \"SVC-INFRA\": \"NONE\","
+                               + "                     \"prevent-delete\": \"!${direction}\","
+                               + "                     \"default\": \"true\","
+                               + "                     \"description\":\"\""
+                               + "             },"
+                               + "             {"
+                               + "                     \"from\": \"generic-vnf\","
+                               + "                     \"to\": \"availability-zone\","
+                               + "                     \"label\": \"org.onap.relationships.inventory.Uses\","
+                               + "                     \"direction\": \"OUT\","
+                               + "                     \"multiplicity\": \"MANY2MANY\","
+                               + "                     \"contains-other-v\": \"NONE\","
+                               + "                     \"delete-other-v\": \"NONE\","
+                               + "                     \"SVC-INFRA\": \"${direction}\","
+                               + "                     \"prevent-delete\": \"!${direction}\","
+                               + "                     \"default\": \"true\","
+                               + "                     \"description\":\"\""
+                               + "             },"
+                               + "             {"
+                               + "                     \"from\": \"pserver\","
+                               + "                     \"to\": \"availability-zone\","
+                               + "                     \"label\": \"org.onap.relationships.inventory.MemberOf\","
+                               + "                     \"direction\": \"OUT\","
+                               + "                     \"multiplicity\": \"MANY2ONE\","
+                               + "                     \"contains-other-v\": \"NONE\","
+                               + "                     \"delete-other-v\": \"NONE\","
+                               + "                     \"SVC-INFRA\": \"${direction}\","
+                               + "                     \"prevent-delete\": \"!${direction}\","
+                               + "                     \"default\": \"true\","
+                               + "                     \"description\":\"\""
+                               + "             },"
+                               + "             {"
+                               + "                     \"from\": \"vce\","
+                               + "                     \"to\": \"availability-zone\","
+                               + "                     \"label\": \"org.onap.relationships.inventory.Uses\","
+                               + "                     \"direction\": \"OUT\","
+                               + "                     \"multiplicity\": \"MANY2MANY\","
+                               + "                     \"contains-other-v\": \"NONE\","
+                               + "                     \"delete-other-v\": \"NONE\","
+                               + "                     \"SVC-INFRA\": \"NONE\","
+                               + "                     \"prevent-delete\": \"!${direction}\","
+                               + "                     \"default\": \"true\","
+                               + "                     \"description\":\"\""
+                               + "             },"
+                               + "     ]}";
+               BufferedWriter bw = new BufferedWriter(new FileWriter(EDGEFILENAME));
+               bw.write(json);
+               bw.close();
+       }
+       @AfterClass
+       public static void tearDownAfterClass() throws Exception {
+               File edges = new File(EDGEFILENAME);
+               edges.delete();
+       }
+       @Before
+       public void setUp() throws Exception {
+
+       }
+       @Test
+       public void test() {
+
+               Map<SchemaVersion, List<String>> edges = ct.getEdgeFiles();
+               assertTrue(edges.containsKey(v10));
+               assertTrue(1 == edges.get(v10).size());
+               assertTrue("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json".equals(edges.get(v10).get(0)));
+       }
+       @Test
+       public void testGetDeleteOtherV() throws EdgeRuleNotFoundException {
+               String target = "availability-zone"+"|"+toNode+"-"+"NONE";
+               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+               SortedSet<String> ss=new TreeSet<String>(results.keySet());
+               for(String key : ss) {
+                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDeleteOtherV(), is(target)); } );
+               }
+       }
+
+       @Test
+       public void testGetPreventDelete() throws EdgeRuleNotFoundException {
+               String target = "availability-zone"+"|"+toNode+"-"+"IN";
+               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+               SortedSet<String> ss=new TreeSet<String>(results.keySet());
+               for(String key : ss) {
+                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getPreventDelete(), is(target)); } );
+               }
+       }
+
+       @Test
+       public void testGetAlsoDeleteFootnote() throws EdgeRuleNotFoundException {
+//             String toNode="cloud-region";
+//             String target = "availability-zone"+"|"+toNode+"-"+"(4)";
+               List<String> notedTypes = Arrays.asList("cloud-region", "ctag-pool");
+               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+               SortedSet<String> ss=new TreeSet<String>(results.keySet());
+               for(String key : ss) {
+                       results.get(key).stream().filter((i) -> (i.getTo().equals("availability-zone") && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); String target = ed.getRuleKey()+"-"+(notedTypes.contains(ed.getTo()) ? "(4)" : ""); assertThat(ed.getRuleKey()+"-"+ed.getAlsoDeleteFootnote(ed.getFrom()), is(target)); } );
+               }
+/*
+               for (EdgeDescription ed : edges) {
+                       String modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom());
+                       assertThat(modResult, is(target));
+                       ed.setDeleteOtherV("IN");
+                       target = "availability-zone"+"|"+"complex"+"-"+"(4)";
+                       modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom());
+                       assertThat(modResult, is(target));
+                       target = "availability-zone"+"|"+"complex"+"-"+"(1)";
+                       modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getTo());
+                       assertThat(modResult, is(target));
+                       ed.setDeleteOtherV("OUT");
+                       target = "availability-zone"+"|"+"complex"+"-"+"(2)";
+                       modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getFrom());
+                       assertThat(modResult, is(target));
+                       target = "availability-zone"+"|"+"complex"+"-"+"(3)";
+                       modResult = ed.getRuleKey() + "-" + ed.getAlsoDeleteFootnote(ed.getTo());
+                       assertThat(modResult, is(target));
+               }
+*/
+       }
+
+       @Test
+       public void testGetTo() throws EdgeRuleNotFoundException {
+               String target = "availability-zone"+"|"+toNode+"-"+toNode;
+               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+               SortedSet<String> ss=new TreeSet<String>(results.keySet());
+               for(String key : ss) {
+                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getTo(), is(target)); } );
+               }
+       }
+
+       @Test
+       public void testGetFrom() throws EdgeRuleNotFoundException {
+               String target = "availability-zone"+"|"+toNode+"-"+"availability-zone";
+               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+               SortedSet<String> ss=new TreeSet<String>(results.keySet());
+               for(String key : ss) {
+                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getFrom(), is(target)); } );
+               }
+       }
+
+       @Test
+       public void testGetRuleKey() throws EdgeRuleNotFoundException {
+               String target = "availability-zone"+"|"+toNode;
+               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+               SortedSet<String> ss=new TreeSet<String>(results.keySet());
+               for(String key : ss) {
+                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey(), is(target)); } );
+               }
+       }
+
+       @Test
+       public void testGetMultiplicity() throws EdgeRuleNotFoundException {
+               String target = "availability-zone"+"|"+toNode+"-"+"MANY2ONE";
+               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+               SortedSet<String> ss=new TreeSet<String>(results.keySet());
+               for(String key : ss) {
+                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getMultiplicity(), is(target)); } );
+               }
+       }
+
+       @Test
+       public void testGetDirection() throws EdgeRuleNotFoundException {
+               String target = "availability-zone"+"|"+toNode+"-"+"OUT";
+               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+               SortedSet<String> ss=new TreeSet<String>(results.keySet());
+               for(String key : ss) {
+                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDirection(), is(target)); } );
+               }
+       }
+
+       @Test
+       public void testGetDescription() throws EdgeRuleNotFoundException {
+               String target = "availability-zone"+"|"+toNode+"-"+"this description";
+               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+               SortedSet<String> ss=new TreeSet<String>(results.keySet());
+               for(String key : ss) {
+                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDescription(), is(target)); } );
+               }
+       }
+
+       @Test
+       public void testGetRelationshipDescription() throws EdgeRuleNotFoundException {
+               String target = "availability-zone"+"|"+toNode+"-"+"this description";
+               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+               SortedSet<String> ss=new TreeSet<String>(results.keySet());
+               for(String key : ss) {
+                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getDescription(), is(target)); } );
+               }
+       }
+
+       @Test
+       public void testGetType() throws EdgeRuleNotFoundException {
+               String toNode = "cloud-region";
+               String target = "availability-zone"+"|"+toNode+"-"+"PARENT";
+               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+               SortedSet<String> ss=new TreeSet<String>(results.keySet());
+               for(String key : ss) {
+                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getType(), is(target)); } );
+               }
+       }
+
+       @Test
+       public void testGetLabel() throws EdgeRuleNotFoundException {
+               String target = "availability-zone"+"|"+toNode+"-"+"org.onap.relationships.inventory.LocatedIn";
+               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+               SortedSet<String> ss=new TreeSet<String>(results.keySet());
+               for(String key : ss) {
+                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getLabel(), is(target)); } );
+               }
+       }
+
+       @Test
+       public void testGetShortLabel() throws EdgeRuleNotFoundException {
+               String target = "availability-zone"+"|"+toNode+"-"+"LocatedIn";
+               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(v10);
+               SortedSet<String> ss=new TreeSet<String>(results.keySet());
+               for(String key : ss) {
+                       results.get(key).stream().filter((i) -> (i.getTo().equals(toNode) && (! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); assertThat(ed.getRuleKey()+"-"+ed.getShortLabel(), is(target)); } );
+               }
+       }
+}
+
+
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/GetOperationTest.java
new file mode 100644 (file)
index 0000000..6a82cff
--- /dev/null
@@ -0,0 +1,106 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Vector;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+@RunWith(Parameterized.class)
+public class GetOperationTest {
+       private static final Logger logger = LoggerFactory.getLogger("GetOperationTest.class");
+       private String useOpId;
+       private String xmlRootElementName;
+       private String tag;
+       private String path;
+       private String pathParams;
+       private String result;
+
+       @Parameters
+       public static Collection<String []> testConditions() {
+               String inputs [][] = {
+               {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__","  /network/generic-vnfs/generic-vnf/{vnf-id}:\n    get:\n      tags:\n        - Network\n      summary: returns generic-vnf\n      description: returns generic-vnf\n      operationId: getNetworkGenericVnfsGenericVnf\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"200\":\n          description: successful operation\n          schema:\n              $ref: \"#/getDefinitions/generic-vnf\"\n        \"default\":\n          null      parameters:\n        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__"},
+               {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__",""},
+               {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces","        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__","  /cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces:\n    get:\n      tags:\n        - CloudInfrastructure\n      summary: returns p-interfaces\n      description: returns p-interfaces\n      operationId: getCloudInfrastructurePserversPserverPInterfaces\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"200\":\n          description: successful operation\n          schema:\n              $ref: \"#/getDefinitions/p-interfaces\"\n        \"default\":\n          null      parameters:\n        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__        - name: interface-name\n          in: query\n          description:\n          required: false\n          type: string        - name: prov-status\n          in: query\n          description:\n          required: false\n          type: string"},
+               //              {"","ctag-pool","","","",""},
+//             {"","pserver","","","",""},
+//             {"","oam-network","","","",""},
+//             {"","dvs-switch","","","",""},
+//             {"","availability-zone","","","",""}
+               };
+               return Arrays.asList(inputs);
+       }
+
+       public GetOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
+               super();
+               this.useOpId = useOpId;
+               this.xmlRootElementName = xmlRootElementName;
+               this.tag = tag;
+               this.path = path;
+               this.pathParams=pathParams;
+               this.result = result;
+       }
+       @BeforeClass
+       public static void setUpBeforeClass() throws Exception {
+               String container = "p-interfaces";
+               String queryProps[] = {
+               "        - name: interface-name\n          in: query\n          description:\n          required: false\n          type: string",
+               "        - name: prov-status\n          in: query\n          description:\n          required: false\n          type: string"
+               };
+               Vector<String> containerProps = new Vector<String>();
+               for(String prop : queryProps) {
+                       containerProps.add(prop);
+               }
+               GetOperation.addContainerProps(container, containerProps);
+       }
+
+       @Test
+       public void testAddContainerProps() {
+               String container = this.xmlRootElementName;
+               String prop = "        - name: "+container+"\n          in: query\n          description:\n          required: false\n          type: string";
+               Vector<String> queryProps = new Vector<String>();
+               queryProps.add(prop);
+               for(String p : queryProps) {
+                       logger.debug("qProp="+p);
+               }
+               logger.debug("Done="+this.xmlRootElementName);
+               GetOperation.addContainerProps(container, queryProps);
+               assertThat(GetOperation.containers.get(container).get(0), is(prop));
+       }
+
+       @Test
+       public void testToString() {
+               GetOperation get = new GetOperation(useOpId, xmlRootElementName, tag, path,  pathParams);
+               String modResult = get.toString();
+               assertThat(modResult, is(this.result));
+       }
+
+}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/HTMLfromOXMTest.java
new file mode 100644 (file)
index 0000000..27b7037
--- /dev/null
@@ -0,0 +1,380 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.aai.edges.EdgeIngestor;
+import org.onap.aai.nodes.NodeIngestor;
+import org.onap.aai.schemagen.SwaggerGenerationConfiguration;
+import org.onap.aai.schemagen.testutils.TestUtilConfigTranslatorforBusiness;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.AnnotationConfigApplicationContext;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.w3c.dom.Element;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = {
+                SchemaVersions.class,
+        SchemaLocationsBean.class,
+        TestUtilConfigTranslatorforBusiness.class,
+        EdgeIngestor.class,
+        NodeIngestor.class,
+               SwaggerGenerationConfiguration.class
+
+})
+@TestPropertySource(properties = {
+               "schema.uri.base.path = /aai",
+               "schema.xsd.maxoccurs = 5000"
+})
+public class HTMLfromOXMTest {
+       private static final Logger logger = LoggerFactory.getLogger("HTMLfromOXMTest.class");
+       private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml";
+       public static AnnotationConfigApplicationContext ctx = null;
+       private static String testXML;
+       protected static final String SERVICE_NAME = "JUNIT";
+
+
+       @Autowired
+       HTMLfromOXM htmlFromOxm;
+
+       @Autowired
+    SchemaVersions schemaVersions;
+
+       @BeforeClass
+       public static void setUpContext() throws Exception {
+
+       }
+       @BeforeClass
+    public static void setupBundleconfig() throws Exception {
+        System.setProperty("AJSC_HOME", ".");
+        System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
+        System.setProperty("aai.service.name", SERVICE_NAME);
+    }
+
+       @Before
+       public void setUp() throws Exception {
+               setUp(0);
+       }
+
+       public void setUp(int sbopt) throws Exception
+       {
+               XSDElementTest x = new XSDElementTest();
+               x.setUp(sbopt);
+               testXML = x.testXML;
+               logger.debug(testXML);
+               BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
+               bw.write(testXML);
+               bw.close();
+       }
+
+       @Test
+       public void testGetDocumentHeader() {
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String header = null;
+               try {
+                       htmlFromOxm.setXmlVersion(testXML, v);
+                       htmlFromOxm.setSchemaVersions(schemaVersions);
+                       header = htmlFromOxm.getDocumentHeader();
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               logger.debug("Header:");
+               logger.debug(header);
+               assertThat(header, is(HTMLheader()));
+       }
+
+       @Test
+       public void testProcess() {
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String fileContent = null;
+               try {
+                       htmlFromOxm.setXmlVersion(testXML, v);
+                       fileContent = htmlFromOxm.process();
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               logger.debug("FileContent-I:");
+               logger.debug(fileContent);
+               assertThat(fileContent, is(HTMLresult(0)));
+       }
+
+       @Test
+       public void testProcessWithCombiningJavaTypes() {
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String fileContent = null;
+               try {
+                       setUp(1);
+                       htmlFromOxm.setXmlVersion(testXML, v);
+                       fileContent = htmlFromOxm.process();
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               logger.debug("FileContent-I:");
+               logger.debug(fileContent);
+               assertThat(fileContent, is(HTMLresult(1)));
+       }
+
+       @Test
+       public void testHTMLfromOXMFileVersion() throws IOException {
+               String outfileName = "testXML.xml";
+               File XMLfile = new File(outfileName);
+               XMLfile.createNewFile();
+               BufferedWriter bw = null;
+               Charset charset = Charset.forName("UTF-8");
+               Path path = Paths.get(outfileName);
+               bw = Files.newBufferedWriter(path, charset);
+               bw.write(testXML);
+               bw.close();
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String fileContent = null;
+               try {
+                       htmlFromOxm.setXmlVersion(testXML, v);
+                       fileContent = htmlFromOxm.process();
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               XMLfile.delete();
+               logger.debug("FileContent-I:");
+               logger.debug(fileContent);
+               assertThat(fileContent, is(HTMLresult(0)));
+       }
+
+       @Test
+       public void testHTMLfromOXMStringVersion() {
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String fileContent = null;
+               try {
+                       htmlFromOxm.setXmlVersion(testXML, v);
+                       fileContent = htmlFromOxm.process();
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               logger.debug("FileContent-II:");
+               logger.debug(fileContent);
+               assertThat(fileContent, is(HTMLresult(0)));
+       }
+
+       @Test
+       public void testProcessJavaTypeElement() {
+               String target = "Element=java-type/Customer";
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               Element customer = null;
+               try {
+                       htmlFromOxm.setXmlVersion(testXML, v);
+                       htmlFromOxm.process();
+                       customer = htmlFromOxm.getJavaTypeElementSwagger("Customer");
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               logger.debug("Element:");
+               logger.debug("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"));
+               assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target));    }
+
+       public String HTMLresult() {
+               return HTMLresult(0);
+       }
+
+       public String HTMLresult(int sbopt) {
+               StringBuilder sb = new StringBuilder(32368);
+               sb.append(HTMLheader());
+               sb.append(HTMLdefs(sbopt));
+               return sb.toString();
+       }
+
+       public String HTMLheader() {
+               StringBuilder sb = new StringBuilder(1500);
+                sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" + OxmFileProcessor.LINE_SEPARATOR);
+                sb.append("<xs:schema elementFormDefault=\"qualified\" version=\"1.0\" targetNamespace=\"http://org.onap.aai.inventory/v11\" xmlns:tns=\"http://org.onap.aai.inventory/v11\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\""  + OxmFileProcessor.LINE_SEPARATOR + "xmlns:jaxb=\"http://java.sun.com/xml/ns/jaxb\"" + OxmFileProcessor.LINE_SEPARATOR);
+                sb.append("    jaxb:version=\"2.1\"" + OxmFileProcessor.LINE_SEPARATOR);
+                sb.append("    xmlns:annox=\"http://annox.dev.java.net\"" + OxmFileProcessor.LINE_SEPARATOR);
+                sb.append("    jaxb:extensionBindingPrefixes=\"annox\">" + OxmFileProcessor.DOUBLE_LINE_SEPARATOR);
+               return sb.toString();
+       }
+
+       public String HTMLdefs() {
+               return HTMLdefs(0);
+       }
+       public String HTMLdefs(int sbopt) {
+               StringBuilder sb = new StringBuilder(1500);
+               sb.append("  <xs:element name=\"service-subscription\">" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("          <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Object that group service instances.\",indexedProps=\"service-type\",dependentOn=\"customer\",container=\"service-subscriptions\",crossEntityReference=\"service-instance,service-type\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        <xs:element name=\"service-type\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(isKey=true,description=\"Value defined by orchestration to identify this service.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        <xs:element name=\"temp-ub-sub-account-id\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"This property will be deleted from A&amp;AI in the near future. Only stop gap solution.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        <xs:element name=\"resource-version\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("  <xs:element name=\"service-subscriptions\">" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("          <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Collection of objects that group service instances.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        <xs:element ref=\"tns:service-subscription\" minOccurs=\"0\" maxOccurs=\"5000\"/>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("  <xs:element name=\"customer\">" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               if ( sbopt == 0 ) {
+                       sb.append("          <annox:annotate target=\"class\">@org.onap.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=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+               } else {
+                       sb.append("          <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"customer identifiers to provide linkage back to BSS information.\",nameProps=\"subscriber-name\",indexedProps=\"subscriber-type,subscriber-name,global-customer-id\",searchable=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+               }
+               sb.append("        </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        <xs:element name=\"global-customer-id\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(isKey=true,description=\"Global customer id used across to uniquely identify customer.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        <xs:element name=\"subscriber-name\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Subscriber name, an alternate way to retrieve a customer.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+               if ( sbopt == 0 ) {
+                       sb.append("        <xs:element name=\"subscriber-type\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Subscriber type, a way to provide VID with only the INFRA customers.\",defaultValue=\"CUST\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("        <xs:element name=\"resource-version\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+               } else {
+                       sb.append("        <xs:element name=\"resource-version\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("        <xs:element name=\"subscriber-type\" type=\"xs:string\" minOccurs=\"0\">" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("          <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("            <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("              <annox:annotate target=\"field\">@org.onap.aai.annotations.Metadata(description=\"Subscriber type, a way to provide VID with only the INFRA customers.\",defaultValue=\"CUST\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("            </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("          </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+                       sb.append("        </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+
+               }
+               sb.append("        <xs:element ref=\"tns:service-subscriptions\" minOccurs=\"0\"/>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("  <xs:element name=\"customers\">" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("          <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Collection of customer identifiers to provide linkage back to BSS information.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        <xs:element ref=\"tns:customer\" minOccurs=\"0\" maxOccurs=\"5000\"/>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("  <xs:element name=\"business\">" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("          <annox:annotate target=\"class\">@org.onap.aai.annotations.Metadata(description=\"Namespace for business related constructs\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        <xs:element ref=\"tns:customers\" minOccurs=\"0\"/>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("  <xs:element name=\"inventory\">" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("    <xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      <xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("        <xs:element ref=\"tns:business\" minOccurs=\"0\"/>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("      </xs:sequence>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("    </xs:complexType>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("  </xs:element>" + OxmFileProcessor.LINE_SEPARATOR);
+               sb.append("</xs:schema>" + OxmFileProcessor.LINE_SEPARATOR);
+               return sb.toString();
+       }
+}
+
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodeGetOperationTest.java
new file mode 100644 (file)
index 0000000..648142a
--- /dev/null
@@ -0,0 +1,108 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Vector;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+@RunWith(Parameterized.class)
+public class NodeGetOperationTest {
+       private static final Logger logger = LoggerFactory.getLogger("NodeGetOperationTest.class");
+       private String useOpId;
+       private String xmlRootElementName;
+       private String tag;
+       private String path;
+       private String pathParams;
+       private String result;
+
+       @Parameters
+       public static Collection<String []> testConditions() {
+               String inputs [][] = {
+               {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__","  /nodes/generic-vnfs/generic-vnf/{vnf-id}:\n    get:\n      tags:\n        - Operations\n      summary: returns generic-vnf\n      description: returns generic-vnf\n      operationId: getNetworkGenericVnfsGenericVnf\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"200\":\n          description: successful operation\n          schema:\n              $ref: \"#/definitions/generic-vnf\"\n        \"default\":\n          null\n      parameters:\n        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__"},
+               {"GenericVnf","generic-vnf","","/Network/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__",""},
+               {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces","        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__","  /nodes/p-interfaces?parameter=value[&parameter2=value2]:\n    get:\n      tags:\n        - Operations\n      summary: returns p-interfaces\n      description: returns p-interfaces\n      operationId: getCloudInfrastructurePserversPserverPInterfaces\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"200\":\n          description: successful operation\n          schema:\n              $ref: \"#/definitions/p-interfaces\"\n        \"default\":\n          null\n      parameters:\n        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__\n        - name: interface-name\n          in: query\n          description:\n          required: false\n          type: string        - name: prov-status\n          in: query\n          description:\n          required: false\n          type: string"},
+               //              {"","ctag-pool","","","",""},
+//             {"","pserver","","","",""},
+//             {"","oam-network","","","",""},
+//             {"","dvs-switch","","","",""},
+//             {"","availability-zone","","","",""}
+               };
+               return Arrays.asList(inputs);
+       }
+
+       public NodeGetOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
+               super();
+               this.useOpId = useOpId;
+               this.xmlRootElementName = xmlRootElementName;
+               this.tag = tag;
+               this.path = path;
+               this.pathParams=pathParams;
+               this.result = result;
+       }
+       @BeforeClass
+       public static void setUpBeforeClass() throws Exception {
+               String container = "p-interfaces";
+               String queryProps[] = {
+               "        - name: interface-name\n          in: query\n          description:\n          required: false\n          type: string",
+               "        - name: prov-status\n          in: query\n          description:\n          required: false\n          type: string"
+               };
+               Vector<String> containerProps = new Vector<String>();
+               for(String prop : queryProps) {
+                       containerProps.add(prop);
+               }
+               NodeGetOperation.addContainerProps(container, containerProps);
+       }
+
+       @Test
+       public void testAddContainerProps() {
+               String container = this.xmlRootElementName;
+               String prop = "        - name: "+container+"\n          in: query\n          description:\n          required: false\n          type: string";
+               Vector<String> queryProps = new Vector<String>();
+               queryProps.add(prop);
+               String props=null;
+               for(String p : queryProps) {
+                       props += "qProp="+p+"\n";
+//                     logger.debug("qProp="+p);
+               }
+//             logger.debug("Done="+this.xmlRootElementName);
+               NodeGetOperation.addContainerProps(container, queryProps);
+               assertThat(props+"Done="+this.xmlRootElementName,NodeGetOperation.containers.get(container).get(0), is(prop));
+       }
+
+       @Test
+       public void testToString() {
+               NodeGetOperation get = new NodeGetOperation(useOpId, xmlRootElementName, tag, path,  pathParams);
+               String modResult = get.toString();
+               assertThat(modResult, is(this.result));
+       }
+
+}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java
new file mode 100644 (file)
index 0000000..e352b08
--- /dev/null
@@ -0,0 +1,629 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.aai.edges.EdgeIngestor;
+import org.onap.aai.nodes.NodeIngestor;
+import org.onap.aai.schemagen.SwaggerGenerationConfiguration;
+import org.onap.aai.schemagen.testutils.TestUtilConfigTranslatorforEdges;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.AnnotationConfigApplicationContext;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.w3c.dom.Element;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = {
+               SchemaVersions.class,
+        SchemaLocationsBean.class,
+        TestUtilConfigTranslatorforEdges.class,
+        EdgeIngestor.class,
+        NodeIngestor.class,
+               SwaggerGenerationConfiguration.class
+
+})
+@TestPropertySource(properties = {
+               "schema.uri.base.path = /aai",
+               "schema.xsd.maxoccurs = 5000"
+})
+public class NodesYAMLfromOXMTest {
+//public class NodesYAMLfromOXMTest extends AAISetup {
+       private static final Logger logger = LoggerFactory.getLogger("NodesYAMLfromOXMTest.class");
+       private static final String OXMFILENAME = "src/test/resources/oxm/business_v11.xml";
+       private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json";
+       public static AnnotationConfigApplicationContext ctx = null;
+       private static String testXML;
+
+       @Autowired
+       NodesYAMLfromOXM nodesYamlFromOxm;
+       @Autowired
+    SchemaVersions schemaVersions;
+
+       @BeforeClass
+       public static void setUpBeforeClass() throws Exception {
+
+               XSDElementTest x = new XSDElementTest();
+               x.setUp();
+               testXML = x.testXML;
+               logger.debug(testXML);
+               BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
+               bw.write(testXML);
+               bw.close();
+               BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
+               bw1.write(YAMLfromOXMTest.EdgeDefs());
+               bw1.close();
+
+
+       }
+
+       @Before
+       public void setUp() throws Exception {
+
+               NodeGetOperation.checklist.clear();
+               XSDElementTest x = new XSDElementTest();
+               x.setUp();
+               testXML = x.testXML;
+
+               logger.debug(testXML);
+       }
+
+       @Test
+       public void testGetDocumentHeader() {
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String apiVersion = v.toString();
+               String header = null;
+               try {
+                       nodesYamlFromOxm.setXmlVersion(testXML, v);
+                       nodesYamlFromOxm.process();
+                       header = nodesYamlFromOxm.getDocumentHeader();
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               assertThat("Header:\n"+header,header, is(YAMLheader()));
+       }
+
+       @Test
+       public void testProcess() {
+
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String apiVersion = v.toString();
+               String fileContent = null;
+               try {
+                       nodesYamlFromOxm.setXmlVersion(testXML, v);
+                       fileContent = nodesYamlFromOxm.process();
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               assertThat("FileContent-I:\n"+fileContent,fileContent, is(YAMLresult()));
+       }
+
+       @Test
+       public void testNodesYAMLfromOXMFileVersionFile() throws IOException {
+               String outfileName = "testXML.xml";
+               File XMLfile = new File(outfileName);
+               XMLfile.createNewFile();
+               BufferedWriter bw = null;
+               Charset charset = Charset.forName("UTF-8");
+               Path path = Paths.get(outfileName);
+               bw = Files.newBufferedWriter(path, charset);
+               bw.write(testXML);
+               bw.close();
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String apiVersion = v.toString();
+               String fileContent = null;
+               try {
+                       nodesYamlFromOxm.setXmlVersion(testXML, v);
+                       fileContent = nodesYamlFromOxm.process();
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               XMLfile.delete();
+               assertThat("FileContent:\n"+fileContent,fileContent, is(YAMLresult()));
+        }
+
+       @Test
+       public void testNodesYAMLfromOXMStringVersionFile() {
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String apiVersion = v.toString();
+               String fileContent = null;
+               try {
+                       nodesYamlFromOxm.setXmlVersion(testXML, v);
+                       fileContent = nodesYamlFromOxm.process();
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               assertThat("FileContent-II:\n"+fileContent,fileContent, is(YAMLresult()));
+       }
+
+       @Test
+       public void testAppendDefinitions() {
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String apiVersion = v.toString();
+               String definitions = null;
+               try {
+                       nodesYamlFromOxm.setXmlVersion(testXML, v);
+                       nodesYamlFromOxm.process();
+                       definitions = nodesYamlFromOxm.appendDefinitions();
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               assertThat("Definitions:\n"+definitions,definitions, is(YAMLgetDefs()));
+       }
+
+       @Test
+       public void testGetXMLRootElementName() {
+               String target = "RootElement=customer";
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String apiVersion = v.toString();
+               Element customer = null;
+               String root = null;
+               try {
+                       nodesYamlFromOxm.setXmlVersion(testXML, v);
+                       nodesYamlFromOxm.process();
+                       customer = nodesYamlFromOxm.getJavaTypeElementSwagger("Customer");
+                       root = nodesYamlFromOxm.getXMLRootElementName(customer);
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               assertThat("RootElement="+root, is(target));
+       }
+
+       @Test
+       public void testGetXmlRootElementName() {
+               String target = "RootElement=customer";
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String apiVersion = v.toString();
+               String root = null;
+               try {
+                       nodesYamlFromOxm.setXmlVersion(testXML, v);
+                       nodesYamlFromOxm.process();
+                       root = nodesYamlFromOxm.getXmlRootElementName("Customer");
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               assertThat("RootElement="+root, is(target));
+       }
+
+       @Test
+       public void testGetJavaTypeElementSwagger() {
+               String target = "Element=java-type/Customer";
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String apiVersion = v.toString();
+               Element customer = null;
+               try {
+                       nodesYamlFromOxm.setXmlVersion(testXML, v);
+                       nodesYamlFromOxm.process();
+                       customer = nodesYamlFromOxm.getJavaTypeElementSwagger("Customer");
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target));
+       }
+
+       public String YAMLresult() {
+               StringBuilder sb = new StringBuilder(32368);
+               sb.append(YAMLheader());
+               sb.append(YAMLops());
+//             sb.append(YAMLdefs());
+//             sb.append(YAMLpatchDefs());
+               sb.append(YAMLgetDefs());
+               return sb.toString();
+       }
+       public String YAMLheader() {
+               StringBuilder sb = new StringBuilder(1500);
+               sb.append("swagger: \"2.0\"\n");
+               sb.append("info:\n");
+               sb.append("  description: |\n");
+               sb.append("\n");
+               sb.append("    [Differences versus the previous schema version](apidocs/aai_swagger_v11.diff)\n");
+               sb.append("\n");
+               sb.append("    Copyright &copy; 2017-18 AT&amp;T Intellectual Property. All rights reserved.\n");
+               sb.append("\n");
+               sb.append("    Licensed under the Creative Commons License, Attribution 4.0 Intl. (the &quot;License&quot;); you may not use this documentation except in compliance with the License.\n");
+               sb.append("\n");
+               sb.append("    You may obtain a copy of the License at\n");
+               sb.append("\n");
+               sb.append("    (https://creativecommons.org/licenses/by/4.0/)\n");
+               sb.append("\n");
+               sb.append("    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; 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.\n");
+               sb.append("\n");
+               sb.append("    This document is best viewed with Firefox or Chrome. Nodes can be found by appending /#/definitions/node-type-to-find to the path to this document. Edge definitions can be found with the node definitions.\n");
+               sb.append("  version: \"v11\"\n");
+               sb.append("  title: Active and Available Inventory REST API\n");
+               sb.append("  license:\n");
+               sb.append("    name: Apache 2.0\n");
+               sb.append("    url: http://www.apache.org/licenses/LICENSE-2.0.html\n");
+               sb.append("  contact:\n");
+               sb.append("    name:\n");
+               sb.append("    url:\n");
+               sb.append("    email:\n");
+               sb.append("host:\n");
+               sb.append("basePath: /aai/v11\n");
+               sb.append("schemes:\n");
+               sb.append("  - https\n");
+               sb.append("paths:\n");
+               return sb.toString();
+       }
+
+       public String YAMLops() {
+               StringBuilder sb = new StringBuilder(16384);
+               sb.append("  /nodes/customers/customer/{global-customer-id}:\n");
+               sb.append("    get:\n");
+               sb.append("      tags:\n");
+               sb.append("        - Operations\n");
+               sb.append("      summary: returns customer\n");
+               sb.append("      description: returns customer\n");
+               sb.append("      operationId: getBusinessCustomersCustomer\n");
+               sb.append("      produces:\n");
+               sb.append("        - application/json\n");
+               sb.append("        - application/xml\n");
+               sb.append("      responses:\n");
+               sb.append("        \"200\":\n");
+               sb.append("          description: successful operation\n");
+               sb.append("          schema:\n");
+               sb.append("              $ref: \"#/definitions/customer\"\n");
+               sb.append("        \"default\":\n");
+               sb.append("          null\n      parameters:\n");
+               sb.append("        - name: global-customer-id\n");
+               sb.append("          in: path\n");
+               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+               sb.append("          required: true\n");
+               sb.append("          type: string\n");
+               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+               sb.append("  /nodes/customers?parameter=value[&parameter2=value2]:\n");
+               sb.append("    get:\n");
+               sb.append("      tags:\n");
+               sb.append("        - Operations\n");
+               sb.append("      summary: returns customers\n");
+               sb.append("      description: returns customers\n");
+               sb.append("      operationId: getBusinessCustomers\n");
+               sb.append("      produces:\n");
+               sb.append("        - application/json\n");
+               sb.append("        - application/xml\n");
+               sb.append("      responses:\n");
+               sb.append("        \"200\":\n");
+               sb.append("          description: successful operation\n");
+               sb.append("          schema:\n");
+               sb.append("              $ref: \"#/definitions/customers\"\n");
+               sb.append("        \"default\":\n");
+               sb.append("          null\n      parameters:\n");
+               sb.append("        - name: global-customer-id\n");
+               sb.append("          in: query\n");
+               sb.append("          description:\n");
+               sb.append("          required: false\n");
+               sb.append("          type: string\n");
+               sb.append("        - name: subscriber-name\n");
+               sb.append("          in: query\n");
+               sb.append("          description:\n");
+               sb.append("          required: false\n");
+               sb.append("          type: string\n");
+               sb.append("        - name: subscriber-type\n");
+               sb.append("          in: query\n");
+               sb.append("          description:\n");
+               sb.append("          required: false\n");
+               sb.append("          type: string\n");
+               sb.append("  /nodes/service-subscriptions?parameter=value[&parameter2=value2]:\n");
+               sb.append("    get:\n");
+               sb.append("      tags:\n");
+               sb.append("        - Operations\n");
+               sb.append("      summary: returns service-subscriptions\n");
+               sb.append("      description: returns service-subscriptions\n");
+               sb.append("      operationId: getBusinessCustomersCustomerServiceSubscriptions\n");
+               sb.append("      produces:\n");
+               sb.append("        - application/json\n");
+               sb.append("        - application/xml\n");
+               sb.append("      responses:\n");
+               sb.append("        \"200\":\n");
+               sb.append("          description: successful operation\n");
+               sb.append("          schema:\n");
+               sb.append("              $ref: \"#/definitions/service-subscriptions\"\n");
+               sb.append("        \"default\":\n");
+               sb.append("          null\n      parameters:\n");
+               sb.append("        - name: service-type\n");
+               sb.append("          in: query\n");
+               sb.append("          description:\n");
+               sb.append("          required: false\n");
+               sb.append("          type: string\n");
+               return sb.toString();
+       }
+       public String YAMLdefs() {
+               StringBuilder sb = new StringBuilder(8092);
+               sb.append("definitions:\n");
+               sb.append("  business:\n");
+               sb.append("    description: |\n");
+               sb.append("      Namespace for business related constructs\n");
+               sb.append("    properties:\n");
+               sb.append("      customers:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:\n");
+               sb.append("          $ref: \"#/definitions/customer\"\n");
+               sb.append("  customer:\n");
+               sb.append("    description: |\n");
+               sb.append("      customer identifiers to provide linkage back to BSS information.\n");
+               sb.append("      ###### Related Nodes\n");
+               sb.append("      - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
+               sb.append("\n");
+               sb.append("      -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
+               sb.append("    required:\n");
+               sb.append("    - global-customer-id\n");
+               sb.append("    - subscriber-name\n");
+               sb.append("    - subscriber-type\n");
+               sb.append("    properties:\n");
+               sb.append("      global-customer-id:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Global customer id used across to uniquely identify customer.\n");
+               sb.append("      subscriber-name:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Subscriber name, an alternate way to retrieve a customer.\n");
+               sb.append("      subscriber-type:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
+               sb.append("      resource-version:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\n");
+               sb.append("      service-subscriptions:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:\n");
+               sb.append("          $ref: \"#/definitions/service-subscription\"\n");
+               sb.append("  customers:\n");
+               sb.append("    description: |\n");
+               sb.append("      Collection of customer identifiers to provide linkage back to BSS information.\n");
+               sb.append("    properties:\n");
+               sb.append("      customer:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:          \n");
+               sb.append("          $ref: \"#/definitions/customer\"\n");
+               sb.append("  inventory:\n");
+               sb.append("    properties:\n");
+               sb.append("      business:\n");
+               sb.append("        type: object\n");
+               sb.append("        $ref: \"#/definitions/business\"\n");
+               sb.append("  nodes:\n");
+               sb.append("    properties:\n");
+               sb.append("      inventory-item-data:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:\n");
+               sb.append("          $ref: \"#/definitions/inventory-item-data\"\n");
+               sb.append("  service-subscription:\n");
+               sb.append("    description: |\n");
+               sb.append("      Object that group service instances.\n");
+               sb.append("      ###### Related Nodes\n");
+               sb.append("      - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
+               sb.append("      - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
+               sb.append("      - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
+               sb.append("\n");
+               sb.append("      -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
+               sb.append("      -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
+               sb.append("    required:\n");
+               sb.append("    - service-type\n");
+               sb.append("    properties:\n");
+               sb.append("      service-type:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Value defined by orchestration to identify this service.\n");
+               sb.append("      temp-ub-sub-account-id:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
+               sb.append("      resource-version:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\n");
+               sb.append("  service-subscriptions:\n");
+               sb.append("    description: |\n");
+               sb.append("      Collection of objects that group service instances.\n");
+               sb.append("    properties:\n");
+               sb.append("      service-subscription:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:          \n");
+               sb.append("          $ref: \"#/definitions/service-subscription\"\n");
+               return sb.toString();
+       }
+       public String YAMLpatchDefs() {
+               StringBuilder sb = new StringBuilder(8092);
+               sb.append("patchDefinitions:\n");
+               sb.append("  business:\n");
+               sb.append("    description: |\n");
+               sb.append("      Namespace for business related constructs\n");
+               sb.append("    properties:\n");
+               sb.append("      customers:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:\n");
+               sb.append("          $ref: \"#/patchDefinitions/customer\"\n");
+               sb.append("  customer:\n");
+               sb.append("    description: |\n");
+               sb.append("      customer identifiers to provide linkage back to BSS information.\n");
+               sb.append("      ###### Related Nodes\n");
+               sb.append("      - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
+               sb.append("\n");
+               sb.append("      -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
+               sb.append("    required:\n");
+               sb.append("    - global-customer-id\n");
+               sb.append("    - subscriber-name\n");
+               sb.append("    - subscriber-type\n");
+               sb.append("    properties:\n");
+               sb.append("      global-customer-id:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Global customer id used across to uniquely identify customer.\n");
+               sb.append("      subscriber-name:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Subscriber name, an alternate way to retrieve a customer.\n");
+               sb.append("      subscriber-type:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
+               sb.append("  customers:\n");
+               sb.append("    description: |\n");
+               sb.append("      Collection of customer identifiers to provide linkage back to BSS information.\n");
+               sb.append("    properties:\n");
+               sb.append("      customer:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:          \n");
+               sb.append("          $ref: \"#/patchDefinitions/customer\"\n");
+               sb.append("  inventory:\n");
+               sb.append("    properties:\n");
+               sb.append("      business:\n");
+               sb.append("        type: object\n");
+               sb.append("        $ref: \"#/patchDefinitions/business\"\n");
+               sb.append("  nodes:\n");
+               sb.append("    properties:\n");
+               sb.append("      inventory-item-data:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:\n");
+               sb.append("          $ref: \"#/patchDefinitions/inventory-item-data\"\n");
+               sb.append("  service-subscription:\n");
+               sb.append("    description: |\n");
+               sb.append("      Object that group service instances.\n");
+               sb.append("      ###### Related Nodes\n");
+               sb.append("      - TO customer (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
+               sb.append("      - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
+               sb.append("      - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
+               sb.append("\n");
+               sb.append("      -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
+               sb.append("      -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
+               sb.append("    required:\n");
+               sb.append("    - service-type\n");
+               sb.append("    properties:\n");
+               sb.append("      service-type:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Value defined by orchestration to identify this service.\n");
+               sb.append("      temp-ub-sub-account-id:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
+               sb.append("  service-subscriptions:\n");
+               sb.append("    description: |\n");
+               sb.append("      Collection of objects that group service instances.\n");
+               sb.append("    properties:\n");
+               sb.append("      service-subscription:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:          \n");
+               sb.append("          $ref: \"#/patchDefinitions/service-subscription\"\n");
+               return sb.toString();
+       }
+       public String YAMLgetDefs() {
+               StringBuilder sb = new StringBuilder(8092);
+               sb.append("definitions:\n");
+               sb.append("  business:\n");
+               sb.append("    description: |\n");
+               sb.append("      Namespace for business related constructs\n");
+               sb.append("    properties:\n");
+               sb.append("      customers:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:\n");
+               sb.append("          $ref: \"#/definitions/customer\"\n");
+               sb.append("  customer:\n");
+               sb.append("    description: |\n");
+               sb.append("      customer identifiers to provide linkage back to BSS information.\n");
+               sb.append("      ###### Related Nodes\n");
+               sb.append("      - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
+               sb.append("\n");
+               sb.append("      -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
+               sb.append("    required:\n");
+               sb.append("    - global-customer-id\n");
+               sb.append("    - subscriber-name\n");
+               sb.append("    - subscriber-type\n");
+               sb.append("    properties:\n");
+               sb.append("      global-customer-id:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Global customer id used across to uniquely identify customer.\n");
+               sb.append("      subscriber-name:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Subscriber name, an alternate way to retrieve a customer.\n");
+               sb.append("      subscriber-type:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
+               sb.append("      resource-version:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\n");
+               sb.append("      service-subscriptions:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:\n");
+               sb.append("          $ref: \"#/definitions/service-subscription\"\n");
+               sb.append("  customers:\n");
+               sb.append("    description: |\n");
+               sb.append("      Collection of customer identifiers to provide linkage back to BSS information.\n");
+               sb.append("    properties:\n");
+               sb.append("      customer:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:          \n");
+               sb.append("          $ref: \"#/definitions/customer\"\n");
+               sb.append("  inventory:\n");
+               sb.append("    properties:\n");
+               sb.append("      business:\n");
+               sb.append("        type: object\n");
+               sb.append("        $ref: \"#/definitions/business\"\n");
+               sb.append("  nodes:\n");
+               sb.append("    properties:\n");
+               sb.append("      inventory-item-data:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:\n");
+               sb.append("          $ref: \"#/definitions/inventory-item-data\"\n");
+               sb.append("  service-subscription:\n");
+               sb.append("    description: |\n");
+               sb.append("      Object that group service instances.\n");
+               sb.append("      ###### Related Nodes\n");
+               sb.append("      - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
+               sb.append("      - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
+               sb.append("      - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
+               sb.append("\n");
+               sb.append("      -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
+               sb.append("      -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
+               sb.append("    required:\n");
+               sb.append("    - service-type\n");
+               sb.append("    properties:\n");
+               sb.append("      service-type:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Value defined by orchestration to identify this service.\n");
+               sb.append("      temp-ub-sub-account-id:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
+               sb.append("      resource-version:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\n");
+               sb.append("  service-subscriptions:\n");
+               sb.append("    description: |\n");
+               sb.append("      Collection of objects that group service instances.\n");
+               sb.append("    properties:\n");
+               sb.append("      service-subscription:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:          \n");
+               sb.append("          $ref: \"#/definitions/service-subscription\"\n");
+               return sb.toString();
+       }
+}
+
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PatchOperationTest.java
new file mode 100644 (file)
index 0000000..65cca9c
--- /dev/null
@@ -0,0 +1,81 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+import java.util.Arrays;
+import java.util.Collection;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+@RunWith(Parameterized.class)
+public class PatchOperationTest {
+       private String useOpId;
+       private String xmlRootElementName;
+       private String tag;
+       private String path;
+       private String pathParams;
+       private String result;
+
+       @Parameters
+       public static Collection<String []> testConditions() {
+               String inputs [][] = {
+               {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__","    patch:\n      tags:\n        - Network\n      summary: update an existing generic-vnf\n      description: |\n        Update an existing generic-vnf\n        #\n        Note:  Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n        The PUT operation will entirely replace an existing object.\n        The PATCH operation sends a \"description of changes\" for an existing object.  The entire set of changes must be applied.  An error result means no change occurs.\n        #\n        Other differences between PUT and PATCH are:\n        #\n        - For PATCH, you can send any of the values shown in sample REQUEST body.  There are no required values.\n        - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n        - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n      operationId: UpdateNetworkGenericVnfsGenericVnf\n      consumes:\n        - application/json\n      produces:\n        - application/json\n      responses:\n        \"default\":\n          null      parameters:\n        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__        - name: body\n          in: body\n          description: generic-vnf object that needs to be updated.\n          required: true\n          schema:\n            $ref: \"#/patchDefinitions/generic-vnf\"\n"},
+//             if ( StringUtils.isEmpty(tag) )
+               {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__",""},
+//             Test: if ( !path.endsWith("/relationship")  &&  !path.endsWith("}") )
+               {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces","        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__",""},
+               //              {"","ctag-pool","","","",""},
+//             {"","pserver","","","",""},
+//             {"","oam-network","","","",""},
+//             {"","dvs-switch","","","",""},
+//             {"","availability-zone","","","",""}
+               };
+               return Arrays.asList(inputs);
+       }
+
+       public PatchOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
+               super();
+               this.useOpId = useOpId;
+               this.xmlRootElementName = xmlRootElementName;
+               this.tag = tag;
+               this.path = path;
+               this.pathParams=pathParams;
+               this.result = result;
+       }
+       @BeforeClass
+       public static void setUpBeforeClass() throws Exception {
+
+       }
+
+       @Test
+       public void testToString() {
+               PatchOperation patch = new PatchOperation(useOpId, xmlRootElementName, tag, path,  pathParams);
+               String modResult = patch.toString();
+               assertThat(modResult, is(this.result));
+       }
+
+}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutOperationTest.java
new file mode 100644 (file)
index 0000000..1b073d9
--- /dev/null
@@ -0,0 +1,83 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+import org.onap.aai.setup.SchemaVersion;
+
+import java.util.Arrays;
+import java.util.Collection;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+@RunWith(Parameterized.class)
+public class PutOperationTest {
+       private String useOpId;
+       private String xmlRootElementName;
+       private String tag;
+       private String path;
+       private String pathParams;
+       private String result;
+       private static SchemaVersion v = new SchemaVersion("v14");
+
+       @Parameters
+       public static Collection<String []> testConditions() {
+               String inputs [][] = {
+               {"NetworkGenericVnfsGenericVnf","generic-vnf","Network","/network/generic-vnfs/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__","    put:\n      tags:\n        - Network\n      summary: create or update an existing generic-vnf\n      description: |\n        Create or update an existing generic-vnf.\n        #\n        Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement.  An example can be found in the [PATCH section] below\n      operationId: createOrUpdateNetworkGenericVnfsGenericVnf\n      consumes:\n        - application/json\n        - application/xml\n      produces:\n        - application/json\n        - application/xml\n      responses:\n        \"default\":\n          null      parameters:\n        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__        - name: body\n          in: body\n          description: generic-vnf object that needs to be created or updated. [Valid relationship examples shown here](apidocs/relations/"+v.toString()+"/NetworkGenericVnfsGenericVnf.json)\n          required: true\n          schema:\n            $ref: \"#/definitions/generic-vnf\"\n"},
+//             if ( StringUtils.isEmpty(tag) )
+               {"GenericVnf","generic-vnf","","/generic-vnf/{vnf-id}","        - name: vnf-id\n          in: path\n          description: Unique id of VNF.  This is unique across the graph.\n          required: true\n          type: string\n          example: __VNF-ID__",""},
+//             Test: if ( !path.endsWith("/relationship")  &&  !path.endsWith("}") )
+               {"CloudInfrastructurePserversPserverPInterfaces","p-interfaces","CloudInfrastructure","/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces","        - name: hostname\n          in: path\n          description: Value from executing hostname on the compute node.\n          required: true\n          type: string\n          example: __HOSTNAME__",""},
+               //              {"","ctag-pool","","","",""},
+//             {"","pserver","","","",""},
+//             {"","oam-network","","","",""},
+//             {"","dvs-switch","","","",""},
+//             {"","availability-zone","","","",""}
+               };
+               return Arrays.asList(inputs);
+       }
+
+       public PutOperationTest(String useOpId, String xmlRootElementName, String tag, String path, String pathParams, String result) {
+               super();
+               this.useOpId = useOpId;
+               this.xmlRootElementName = xmlRootElementName;
+               this.tag = tag;
+               this.path = path;
+               this.pathParams=pathParams;
+               this.result = result;
+       }
+       @BeforeClass
+       public static void setUpBeforeClass() throws Exception {
+
+       }
+
+       @Test
+       public void testToString() {
+               PutOperation put = new PutOperation(useOpId, xmlRootElementName, tag, path,  pathParams, v);
+               String modResult = put.toString();
+               assertThat(modResult, is(this.result));
+       }
+
+}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/PutRelationPathSetTest.java
new file mode 100644 (file)
index 0000000..4799684
--- /dev/null
@@ -0,0 +1,257 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.aai.edges.EdgeIngestor;
+import org.onap.aai.schemagen.GenerateXsd;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertTrue;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = {
+       SchemaVersions.class,
+       EdgeIngestor.class
+})
+@TestPropertySource(properties = {
+               "schema.uri.base.path = /aai"
+})
+@Ignore("This test needs to get major rework done as it is written very poorly")
+public class PutRelationPathSetTest {
+       private static final String EDGEFILENAME = "src/test/resources/dbedgerules/EdgeDescriptionRules_test.json";
+
+       private static String json;
+       private SchemaVersion v ;
+       private File relationsFile ;
+       private String target = "/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/availability-zones/availability-zone/{availability-zone-name}/relationship-list/relationship";
+       private String opId = "createOrUpdateCloudInfrastructureCloudRegionsCloudRegionAvailabilityZonesAvailabilityZoneRelationshipListRelationship";
+       private String path = "/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/availability-zones/availability-zone/{availability-zone-name}/relationship-list/relationship";
+       PutRelationPathSet prp = null;
+        @Autowired
+     SchemaVersions schemaVersions;
+
+        @Autowired
+     EdgeIngestor edgeIngestor;
+
+
+       @Before
+       public void setUpBeforeClass() throws Exception {
+           v = schemaVersions.getDefaultVersion();
+
+               relationsFile = new File(GenerateXsd.getYamlDir() + "/relations/" + v.toString()+"/createOrUpdateCloudInfrastructureCloudRegionsCloudRegionAvailabilityZonesAvailabilityZone.json");
+               json = "{"
+                               + "     \"rules\": ["
+                               + "             {"
+                               + "                     \"from\": \"availability-zone\","
+                               + "                     \"to\": \"complex\","
+                               + "                     \"label\": \"org.onap.relationships.inventory.LocatedIn\","
+                               + "                     \"direction\": \"OUT\","
+                               + "                     \"multiplicity\": \"MANY2ONE\","
+                               + "                     \"contains-other-v\": \"NONE\","
+                               + "                     \"delete-other-v\": \"NONE\","
+                               + "                     \"SVC-INFRA\": \"NONE\","
+                               + "                     \"prevent-delete\": \"!${direction}\","
+                               + "                     \"default\": \"true\","
+                               + "                     \"description\":\"this description\""
+                               + "             },"
+                               + "    {"
+                               + "                     \"from\": \"availability-zone\","
+                               + "                     \"to\": \"service-capability\","
+                               + "                     \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+                               + "                     \"direction\": \"OUT\","
+                               + "                     \"multiplicity\": \"MANY2MANY\","
+                               + "                     \"contains-other-v\": \"NONE\","
+                               + "                     \"delete-other-v\": \"NONE\","
+                               + "                     \"SVC-INFRA\": \"NONE\","
+                               + "                     \"prevent-delete\": \"!${direction}\","
+                               + "                     \"default\": \"true\","
+                               + "                     \"description\":\"\""
+                               + "             },"
+                               + "             {"
+                               + "                     \"from\": \"availability-zone\","
+                               + "                     \"to\": \"cloud-region\","
+                               + "                     \"label\": \"org.onap.relationships.inventory.BelongsTo\","
+                               + "                     \"direction\": \"OUT\","
+                               + "                     \"multiplicity\": \"MANY2ONE\","
+                               + "                     \"contains-other-v\": \"!${direction}\","
+                               + "                     \"delete-other-v\": \"!${direction}\","
+                               + "                     \"SVC-INFRA\": \"NONE\","
+                               + "                     \"prevent-delete\": \"NONE\","
+                               + "                     \"default\": \"true\","
+                               + "                     \"description\":\"\""
+                               + "             },"
+                               + "             {"
+                               + "                     \"from\": \"ctag-pool\","
+                               + "                     \"to\": \"availability-zone\","
+                               + "                     \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+                               + "                     \"direction\": \"OUT\","
+                               + "                     \"multiplicity\": \"MANY2MANY\","
+                               + "                     \"contains-other-v\": \"NONE\","
+                               + "                     \"delete-other-v\": \"NONE\","
+                               + "                     \"SVC-INFRA\": \"NONE\","
+                               + "                     \"prevent-delete\": \"!${direction}\","
+                               + "                     \"default\": \"true\","
+                               + "                     \"description\":\"\""
+                               + "             },"
+                               + "             {"
+                               + "                     \"from\": \"dvs-switch\","
+                               + "                     \"to\": \"availability-zone\","
+                               + "                     \"label\": \"org.onap.relationships.inventory.AppliesTo\","
+                               + "                     \"direction\": \"OUT\","
+                               + "                     \"multiplicity\": \"MANY2MANY\","
+                               + "                     \"contains-other-v\": \"NONE\","
+                               + "                     \"delete-other-v\": \"NONE\","
+                               + "                     \"SVC-INFRA\": \"NONE\","
+                               + "                     \"prevent-delete\": \"!${direction}\","
+                               + "                     \"default\": \"true\","
+                               + "                     \"description\":\"\""
+                               + "             },"
+                               + "             {"
+                               + "                     \"from\": \"generic-vnf\","
+                               + "                     \"to\": \"availability-zone\","
+                               + "                     \"label\": \"org.onap.relationships.inventory.Uses\","
+                               + "                     \"direction\": \"OUT\","
+                               + "                     \"multiplicity\": \"MANY2MANY\","
+                               + "                     \"contains-other-v\": \"NONE\","
+                               + "                     \"delete-other-v\": \"NONE\","
+                               + "                     \"SVC-INFRA\": \"${direction}\","
+                               + "                     \"prevent-delete\": \"!${direction}\","
+                               + "                     \"default\": \"true\","
+                               + "                     \"description\":\"\""
+                               + "             },"
+                               + "             {"
+                               + "                     \"from\": \"vf-module\","
+                               + "                     \"to\": \"vnfc\","
+                               + "                     \"label\": \"org.onap.relationships.inventory.Uses\","
+                               + "                     \"direction\": \"OUT\","
+                               + "                     \"multiplicity\": \"ONE2MANY\","
+                               + "                     \"contains-other-v\": \"NONE\","
+                               + "                     \"delete-other-v\": \"NONE\","
+                               + "                     \"SVC-INFRA\": \"${direction}\","
+                               + "                     \"prevent-delete\": \"${direction}\","
+                               + "                     \"default\": \"true\","
+                               + "                     \"description\":\"\""
+                               + "             },"
+                               + "             {"
+                               + "                     \"from\": \"pserver\","
+                               + "                     \"to\": \"availability-zone\","
+                               + "                     \"label\": \"org.onap.relationships.inventory.MemberOf\","
+                               + "                     \"direction\": \"OUT\","
+                               + "                     \"multiplicity\": \"MANY2ONE\","
+                               + "                     \"contains-other-v\": \"NONE\","
+                               + "                     \"delete-other-v\": \"NONE\","
+                               + "                     \"SVC-INFRA\": \"${direction}\","
+                               + "                     \"prevent-delete\": \"!${direction}\","
+                               + "                     \"default\": \"true\","
+                               + "                     \"description\":\"\""
+                               + "             },"
+                               + "             {"
+                               + "                     \"from\": \"vce\","
+                               + "                     \"to\": \"availability-zone\","
+                               + "                     \"label\": \"org.onap.relationships.inventory.Uses\","
+                               + "                     \"direction\": \"OUT\","
+                               + "                     \"multiplicity\": \"MANY2MANY\","
+                               + "                     \"contains-other-v\": \"NONE\","
+                               + "                     \"delete-other-v\": \"NONE\","
+                               + "                     \"SVC-INFRA\": \"NONE\","
+                               + "                     \"prevent-delete\": \"!${direction}\","
+                               + "                     \"default\": \"true\","
+                               + "                     \"description\":\"\""
+                               + "             },"
+                               + "     ]}";
+
+               BufferedWriter bw = new BufferedWriter(new FileWriter(EDGEFILENAME));
+               bw.write(json);
+               bw.close();
+
+       }
+
+       @Before
+       public void setUp() throws Exception {
+
+               DeleteOperation.deletePaths.put("/cloud-infrastructure/pservers/pserver/{hostname}","pserver");
+               DeleteOperation.deletePaths.put("/network/vces/vce/{vnf-id}","vce");
+               DeleteOperation.deletePaths.put("/cloud-infrastructure/complexes/complex/{physical-location-id}","complex");
+               DeleteOperation.deletePaths.put("/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}","service-capability");
+               DeleteOperation.deletePaths.put("/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}","cloud-region");
+               DeleteOperation.deletePaths.put("/network/generic-vnfs/generic-vnf/{vnf-id}","generic-vnf");
+               DeleteOperation.deletePaths.put("/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}/dvs-switches/dvs-switch/{switch-name}","dvs-switch");
+               DeleteOperation.deletePaths.put("/cloud-infrastructure/complexes/complex/{physical-location-id}/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}","ctag-pool");
+
+               DeleteOperation.deletePaths.put(path.replace("/relationship-list/relationship", ""),"availability-zone");
+               PutRelationPathSet.add(opId, path);
+       }
+       @AfterClass
+       public static void tearDownAfterClass() throws Exception {
+               File edges = new File(EDGEFILENAME);
+               edges.delete();
+       }
+       @Test
+       public void testAdd() {
+               PutRelationPathSet.add(opId, path);
+               assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
+               assertThat(PutRelationPathSet.putRelationPaths.get(opId), is(target));
+       }
+
+       @Test
+       public void testPutRelationPathSet() {
+
+               this.prp = new PutRelationPathSet(v);
+               assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
+               prp.generateRelations(edgeIngestor);
+               assertTrue(this.relationsFile.exists());
+               this.relationsFile.delete();
+       }
+
+       @Test
+       public void testPutRelationPathSetStringString() {
+               this.prp = new PutRelationPathSet(opId, path, v);
+               assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
+       }
+
+       @Test
+       public void testGenerateRelations() {
+               PutRelationPathSet prp = new PutRelationPathSet(opId, "availability-zone", v);
+               prp.generateRelations(edgeIngestor);
+               assertThat(PutRelationPathSet.putRelationPaths.size(), is(1));
+               assertThat(PutRelationPathSet.putRelationPaths.get(opId), is(target));
+               assertTrue(this.relationsFile.exists());
+//             this.relationsFile.delete();
+       }
+
+}
+
+
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDElementTest.java
new file mode 100644 (file)
index 0000000..a9c7880
--- /dev/null
@@ -0,0 +1,623 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.apache.commons.lang.StringUtils;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+import javax.xml.XMLConstants;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.*;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.hamcrest.collection.IsIn.in;
+import static org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder;
+import static org.hamcrest.core.Every.everyItem;
+import static org.junit.Assert.assertThat;
+
+public class XSDElementTest {
+       private static final Logger logger = LoggerFactory.getLogger("XSDElementTest.class");
+       private static final int maxSizeForXml = 20000;
+       protected String testXML;
+       protected Document doc = null;
+       protected NodeList javaTypeNodes=null;
+
+       public String getTestXML() {
+               return testXML;
+       }
+
+       @BeforeClass
+       public static void setUpBeforeClass() throws Exception {
+       }
+
+       @Before
+       public void setUp() throws Exception {
+               setUp(0);
+       }
+
+       public void setUp( int sbopt ) throws Exception {
+               StringBuilder sb = new StringBuilder(maxSizeForXml);
+               addNamespace(sb);
+               addBusiness(sb);
+               addCustomers(sb);
+               if ( sbopt == 0 ) {
+                       addCustomer(sb);
+               } else {
+                       addCustomerNoSubscriberType(sb);
+                       addCustomerSubscriberType(sb);
+               }
+               addServiceSubscriptions(sb);
+               addServiceSubscription(sb);
+               addEndOfXML(sb);
+               testXML = sb.toString();
+               init();
+}
+
+       private void addNamespace(StringBuilder sb){
+               sb.append("<xml-bindings xmlns=\"http://www.eclipse.org/eclipselink/xsds/persistence/oxm\" package-name=\"inventory.aai.onap.org.v11\" xml-mapping-metadata-complete=\"true\">\n");
+               sb.append("<xml-schema element-form-default=\"QUALIFIED\">\n");
+               sb.append("<xml-ns namespace-uri=\"http://org.onap.aai.inventory/v11\" />\n");
+               sb.append("</xml-schema>\n");
+               sb.append("<java-types>\n");
+               sb.append("<java-type name=\"Inventory\">\n");
+               sb.append("<xml-root-element name=\"inventory\" />\n");
+               sb.append("<java-attributes>\n");
+               sb.append("<xml-element java-attribute=\"business\" name=\"business\" type=\"inventory.aai.onap.org.v11.Business\" />\n");
+               sb.append("</java-attributes>\n");
+               sb.append("</java-type>\n");
+       }
+
+       private void addBusiness(StringBuilder sb){
+               sb.append("<java-type name=\"Business\">\n");
+               sb.append("<xml-properties>\n");
+                               sb.append("<xml-property name=\"description\" value=\"Namespace for business related constructs\" />\n");
+                               sb.append("</xml-properties>\n");
+                               sb.append("<xml-root-element name=\"business\" />\n");
+                               sb.append("<java-attributes>\n");
+                               sb.append("<xml-element java-attribute=\"customers\" name=\"customers\" type=\"inventory.aai.onap.org.v11.Customers\" />\n");
+                               sb.append("</java-attributes>\n");
+                               sb.append("</java-type>\n");
+       }
+
+       private void addCustomers(StringBuilder sb){
+               sb.append("<java-type name=\"Customers\">\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"description\" value=\"Collection of customer identifiers to provide linkage back to BSS information.\" />\n");
+               sb.append("</xml-properties>\n");
+               sb.append("<xml-root-element name=\"customers\" />\n");
+               sb.append("<java-attributes>\n");
+               sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"customer\" name=\"customer\" type=\"inventory.aai.onap.org.v11.Customer\" />\n");
+               sb.append("</java-attributes>\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"maximumDepth\" value=\"0\" />\n");
+               sb.append("</xml-properties>\n");
+               sb.append("</java-type>\n");
+       }
+
+       private void addCustomer(StringBuilder sb){
+               sb.append("<java-type name=\"Customer\">\n");
+               sb.append("<xml-root-element name=\"customer\" />\n");
+               sb.append("<java-attributes>\n");
+               sb.append("<xml-element java-attribute=\"globalCustomerId\" name=\"global-customer-id\" required=\"true\" type=\"java.lang.String\" xml-key=\"true\">\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"description\" value=\"Global customer id used across to uniquely identify customer.\" />\n");
+               sb.append("</xml-properties>\n");
+               sb.append("</xml-element>\n");
+               sb.append("<xml-element java-attribute=\"subscriberName\" name=\"subscriber-name\" required=\"true\" type=\"java.lang.String\">\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"description\" value=\"Subscriber name, an alternate way to retrieve a customer.\" />\n");
+               sb.append("</xml-properties>\n");
+               sb.append("</xml-element>\n");
+               sb.append("<xml-element java-attribute=\"subscriberType\" name=\"subscriber-type\" required=\"true\" type=\"java.lang.String\">\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"description\" value=\"Subscriber type, a way to provide VID with only the INFRA customers.\" />\n");
+               sb.append("<xml-property name=\"defaultValue\" value=\"CUST\" />\n");
+               sb.append("</xml-properties>\n");
+               sb.append("</xml-element>\n");
+               sb.append("<xml-element java-attribute=\"resourceVersion\" name=\"resource-version\" type=\"java.lang.String\">\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"description\" value=\"Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\" />\n");
+               sb.append("</xml-properties>\n");
+               sb.append("</xml-element>\n");
+               sb.append("<xml-element java-attribute=\"serviceSubscriptions\" name=\"service-subscriptions\" type=\"inventory.aai.onap.org.v11.ServiceSubscriptions\" />\n");
+//             sb.append("<xml-element java-attribute=\"relationshipList\" name=\"relationship-list\" type=\"inventory.aai.onap.org.v11.RelationshipList\" />\n");
+               sb.append("</java-attributes>\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"description\" value=\"customer identifiers to provide linkage back to BSS information.\" />\n");
+               sb.append("<xml-property name=\"nameProps\" value=\"subscriber-name\" />\n");
+               sb.append("<xml-property name=\"indexedProps\" value=\"subscriber-name,global-customer-id,subscriber-type\" />\n");
+               sb.append("<xml-property name=\"searchable\" value=\"global-customer-id,subscriber-name\" />\n");
+               sb.append("<xml-property name=\"uniqueProps\" value=\"global-customer-id\" />\n");
+               sb.append("<xml-property name=\"container\" value=\"customers\" />\n");
+               sb.append("<xml-property name=\"namespace\" value=\"business\" />\n");
+               sb.append("</xml-properties>\n");
+               sb.append("</java-type>\n");
+       }
+
+       private void addCustomerNoSubscriberType(StringBuilder sb){
+               sb.append("<java-type name=\"Customer\">\n");
+               sb.append("<xml-root-element name=\"customer\" />\n");
+               sb.append("<java-attributes>\n");
+               sb.append("<xml-element java-attribute=\"globalCustomerId\" name=\"global-customer-id\" required=\"true\" type=\"java.lang.String\" xml-key=\"true\">\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"description\" value=\"Global customer id used across to uniquely identify customer.\" />\n");
+               sb.append("</xml-properties>\n");
+               sb.append("</xml-element>\n");
+               sb.append("<xml-element java-attribute=\"subscriberName\" name=\"subscriber-name\" required=\"true\" type=\"java.lang.String\">\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"description\" value=\"Subscriber name, an alternate way to retrieve a customer.\" />\n");
+               sb.append("</xml-properties>\n");
+               sb.append("</xml-element>\n");
+               sb.append("<xml-element java-attribute=\"resourceVersion\" name=\"resource-version\" type=\"java.lang.String\">\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"description\" value=\"Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\" />\n");
+               sb.append("</xml-properties>\n");
+               sb.append("</xml-element>\n");
+               sb.append("<xml-element java-attribute=\"serviceSubscriptions\" name=\"service-subscriptions\" type=\"inventory.aai.onap.org.v11.ServiceSubscriptions\" />\n");
+               sb.append("</java-attributes>\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"description\" value=\"customer identifiers to provide linkage back to BSS information.\" />\n");
+               sb.append("<xml-property name=\"nameProps\" value=\"subscriber-name\" />\n");
+               sb.append("<xml-property name=\"indexedProps\" value=\"subscriber-name,global-customer-id\" />\n");
+               sb.append("<xml-property name=\"searchable\" value=\"global-customer-id,subscriber-name\" />\n");
+               sb.append("<xml-property name=\"uniqueProps\" value=\"global-customer-id\" />\n");
+               sb.append("<xml-property name=\"container\" value=\"customers\" />\n");
+               sb.append("<xml-property name=\"namespace\" value=\"business\" />\n");
+               sb.append("</xml-properties>\n");
+               sb.append("</java-type>\n");
+       }
+
+       private void addCustomerSubscriberType(StringBuilder sb){
+               sb.append("<java-type name=\"Customer\">\n");
+               sb.append("<xml-root-element name=\"customer\" />\n");
+               sb.append("<java-attributes>\n");
+               sb.append("<xml-element java-attribute=\"subscriberType\" name=\"subscriber-type\" required=\"true\" type=\"java.lang.String\">\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"description\" value=\"Subscriber type, a way to provide VID with only the INFRA customers.\" />\n");
+               sb.append("<xml-property name=\"defaultValue\" value=\"CUST\" />\n");
+               sb.append("</xml-properties>\n");
+               sb.append("</xml-element>\n");
+               sb.append("</java-attributes>\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"indexedProps\" value=\"subscriber-type\" />\n");
+               sb.append("<xml-property name=\"container\" value=\"customers\" />\n");
+               sb.append("</xml-properties>\n");
+               sb.append("</java-type>\n");
+       }
+
+       private void addServiceSubscriptions(StringBuilder sb){
+               sb.append("<java-type name=\"ServiceSubscriptions\">\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"description\" value=\"Collection of objects that group service instances.\" />\n");
+               sb.append("</xml-properties>\n");
+               sb.append("<xml-root-element name=\"service-subscriptions\" />\n");
+               sb.append("<java-attributes>\n");
+               sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"serviceSubscription\" name=\"service-subscription\" type=\"inventory.aai.onap.org.v11.ServiceSubscription\" />\n");
+               sb.append("</java-attributes>\n");
+               sb.append("</java-type>\n");
+       }
+       private void addServiceSubscription(StringBuilder sb){
+               sb.append("<java-type name=\"ServiceSubscription\">\n");
+               sb.append("<xml-root-element name=\"service-subscription\" />\n");
+               sb.append("<java-attributes>\n");
+               sb.append("<xml-element java-attribute=\"serviceType\" name=\"service-type\" required=\"true\" type=\"java.lang.String\" xml-key=\"true\">\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"description\" value=\"Value defined by orchestration to identify this service.\" />\n");
+               sb.append("</xml-properties>\n");
+               sb.append("</xml-element>\n");
+               sb.append("<xml-element java-attribute=\"tempUbSubAccountId\" name=\"temp-ub-sub-account-id\" type=\"java.lang.String\">\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"description\" value=\"This property will be deleted from A&amp;AI in the near future. Only stop gap solution.\" />\n");
+               sb.append("</xml-properties>\n");
+                sb.append("</xml-element>\n");
+                sb.append("<xml-element java-attribute=\"resourceVersion\" name=\"resource-version\" type=\"java.lang.String\">\n");
+                sb.append("<xml-properties>\n");
+                sb.append("<xml-property name=\"description\" value=\"Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\" />\n");
+                sb.append("</xml-properties>\n");
+                sb.append("</xml-element>\n");
+//                sb.append("<xml-element java-attribute=\"relationshipList\" name=\"relationship-list\" type=\"inventory.aai.onap.org.v11.RelationshipList\" />\n");
+                sb.append("</java-attributes>\n");
+                sb.append("<xml-properties>\n");
+                sb.append("<xml-property name=\"description\" value=\"Object that group service instances.\" />\n");
+                sb.append("<xml-property name=\"indexedProps\" value=\"service-type\" />\n");
+                sb.append("<xml-property name=\"dependentOn\" value=\"customer\" />\n");
+                sb.append("<xml-property name=\"container\" value=\"service-subscriptions\" />\n");
+                sb.append("<xml-property name=\"crossEntityReference\" value=\"service-instance,service-type\" />\n");
+                sb.append("</xml-properties>\n");
+                sb.append("</java-type>\n");
+       }
+
+       private void addRelationshipList(StringBuilder sb ) {
+               sb.append("<java-type name=\"RelationshipList\">\n");
+               sb.append("<xml-root-element name=\"relationship-list\" />\n");
+               sb.append("<java-attributes>\n");
+                       sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"relationship\" name=\"relationship\" type=\"inventory.aai.onap.org.v11.Relationship\" />/n");
+               sb.append("</java-attributes>\n");
+       sb.append("</java-type>\n");
+       }
+
+       private void addRelationship(StringBuilder sb ) {
+               sb.append("<java-type name=\"Relationship\">\n");
+               sb.append("<xml-root-element name=\"relationship\" />\n");
+               sb.append("<java-attributes>\n");
+               sb.append("<xml-element java-attribute=\"relatedTo\" name=\"related-to\" type=\"java.lang.String\">\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"description\" value=\"A keyword provided by A&amp;AI to indicate type of node.\" />\n");
+               sb.append("</xml-properties>\n");
+               sb.append("</xml-element>\n");
+               sb.append("<xml-element java-attribute=\"relatedLink\" name=\"related-link\" type=\"java.lang.String\">\n");
+               sb.append("<xml-properties>\n");
+               sb.append("<xml-property name=\"description\" value=\"URL to the object in A&amp;AI.\" />");
+               sb.append("</xml-properties>\n");
+               sb.append("</xml-element>\n");
+               sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"relationshipData\" name=\"relationship-data\" type=\"inventory.aai.onap.org.v11.RelationshipData\" />\n");
+               sb.append("<xml-element container-type=\"java.util.ArrayList\" java-attribute=\"relatedToProperty\" name=\"related-to-property\" type=\"inventory.aai.onap.org.v11.RelatedToProperty\" />\n");
+               sb.append("</java-attributes>\n");
+               sb.append("</java-type>\n");
+       }
+
+       private void addRelatedToProperty(StringBuilder sb) {
+               sb.append("<java-type name=\"RelatedToProperty\">\n");
+               sb.append("<xml-root-element name=\"related-to-property\" />\n");
+               sb.append("<java-attributes>\n");
+                       sb.append("<xml-element java-attribute=\"propertyKey\" name=\"property-key\" type=\"java.lang.String\">\n");
+                       sb.append("<xml-properties>\n");
+                       sb.append("<xml-property name=\"description\" value=\"Key part of a key/value pair\" />\n");
+                       sb.append("</xml-properties>\n");
+                       sb.append("</xml-element>\n");
+                       sb.append("<xml-element java-attribute=\"propertyValue\" name=\"property-value\" type=\"java.lang.String\">\n");
+                       sb.append("<xml-properties>\n");
+                       sb.append("<xml-property name=\"description\" value=\"Value part of a key/value pair\" />\n");
+                       sb.append("</xml-properties>\n");
+                       sb.append("</xml-element>\n");
+                       sb.append("</java-attributes>\n");
+                       sb.append("</java-type>\n");
+       }
+
+       private void addRelationshipData(StringBuilder sb){
+               sb.append("<java-type name=\"RelationshipData\">\n");
+               sb.append("<xml-root-element name=\"relationship-data\" />\n");
+               sb.append("<java-attributes>\n");
+                       sb.append("<xml-element java-attribute=\"relationshipKey\" name=\"relationship-key\" required=\"true\" type=\"java.lang.String\">\n");
+                       sb.append("<xml-properties>\n");
+                       sb.append("<xml-property name=\"description\" value=\"A keyword provided by A&amp;AI to indicate an attribute.\" />\n");
+                       sb.append("</xml-properties>\n");
+                       sb.append("</xml-element>\n");
+                       sb.append("<xml-element java-attribute=\"relationshipValue\" name=\"relationship-value\" required=\"true\" type=\"java.lang.String\">\n");
+                       sb.append("<xml-properties>\n");
+                       sb.append("<xml-property name=\"description\" value=\"Value of the attribute.\" />\n");
+                       sb.append("</xml-properties>\n");
+                       sb.append("</xml-element>\n");
+                       sb.append("</java-attributes>\n");
+                       sb.append("</java-type>\n");
+       }
+
+
+       private void addEndOfXML(StringBuilder sb){
+               sb.append("</java-types>\n");
+               sb.append("</xml-bindings>\n");
+       }
+
+       public void init() throws ParserConfigurationException, SAXException, IOException {
+               DocumentBuilder dBuilder = null;
+               try {
+                   DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
+                   dbFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+                   dBuilder = dbFactory.newDocumentBuilder();
+               } catch (ParserConfigurationException e) {
+                       throw e;
+               }
+               try {
+                       InputSource isInput = new InputSource(new StringReader(testXML));
+                       doc = dBuilder.parse(isInput);
+               } catch (SAXException e) {
+                       throw e;
+               } catch (IOException e) {
+                       throw e;
+               }
+
+           NodeList bindingsNodes = doc.getElementsByTagName("xml-bindings");
+               Element bindingElement;
+               NodeList javaTypesNodes;
+               Element javaTypesElement;
+
+               if ( bindingsNodes == null || bindingsNodes.getLength() == 0 ) {
+                       throw new SAXException("OXM file error: missing <binding-nodes> in XML");
+               }
+
+               bindingElement = (Element) bindingsNodes.item(0);
+               javaTypesNodes = bindingElement.getElementsByTagName("java-types");
+               if ( javaTypesNodes.getLength() < 1 ) {
+                       throw new SAXException("OXM file error: missing <binding-nodes><java-types> in XML");
+               }
+               javaTypesElement = (Element) javaTypesNodes.item(0);
+
+               javaTypeNodes = javaTypesElement.getElementsByTagName("java-type");
+               if ( javaTypeNodes.getLength() < 1 ) {
+                       throw new SAXException("OXM file error: missing <binding-nodes><java-types><java-type> in XML");
+               }
+               logger.debug(testXML);
+       }
+       @Test
+       public void testXSDElement() {
+               // repeat of testGetIndexedProps() which uses the constructor
+               ArrayList<String> target = new ArrayList<String>();
+               target.add("subscriber-name");
+               target.add("global-customer-id");
+               target.add("subscriber-type");
+               target.add("service-type");
+
+               Vector<String> indexedProps = new Vector<String>();
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+                       indexedProps.addAll(javaTypeElement.getIndexedProps());
+               }
+               assertThat(new ArrayList<>(indexedProps),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+       }
+
+       @Test
+       public void testName() {
+               ArrayList<String> target = new ArrayList<String>();
+               target.add("ServiceSubscriptions");
+               target.add("ServiceSubscription");
+               target.add("Inventory");
+               target.add("Business");
+               target.add("Customers");
+               target.add("Customer");
+               ArrayList<String> names = new ArrayList<String>();
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+                       names.add(javaTypeElement.name());
+               }
+               logger.debug(String.join("|", names));
+               assertThat(names,both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+       }
+
+       @Test
+       public void testGetAddTypes() {
+               HashMap<String,ArrayList<String>> map = new HashMap<String,ArrayList<String>>();
+               HashMap<String,ArrayList<String>> target = new HashMap<String,ArrayList<String>>();
+               target.put("Customer", new ArrayList<>(Arrays.asList("ServiceSubscriptions", "RelationshipList")));
+               target.put("Customer", new ArrayList<>(Arrays.asList("ServiceSubscriptions")));
+               target.put("Business", new ArrayList<>(Arrays.asList("Customers")));
+               target.put("Inventory", new ArrayList<>(Arrays.asList("Business")));
+               target.put("Customers", new ArrayList<>(Arrays.asList("Customer")));
+               target.put("ServiceSubscription", new ArrayList<>(Arrays.asList("RelationshipList")));
+               target.put("ServiceSubscription", new ArrayList<>(Arrays.asList()));
+               target.put("ServiceSubscriptions", new ArrayList<>(Arrays.asList("ServiceSubscription")));
+
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) {
+                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+                       ArrayList<String> addTypes = new ArrayList<String>();
+                       NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element");
+                       String name=javaTypeElement.name();
+                       for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) {
+                               XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j));
+                               addTypes.addAll(xmlElement.getAddTypes("v11"));
+                               map.put(name,addTypes);
+                       }
+               }
+               for(String key : map.keySet()) {
+                       assertThat("Expected for key:"+key, map.get(key),equalTo(target.get(key)));
+               }
+       }
+/*
+       @Test
+       public void testGetRequiredElements() {
+               HashMap<String,ArrayList<String>> map = new HashMap<String,ArrayList<String>>();
+               ArrayList<String> target = new ArrayList<String>();
+               target.add("global-customer-id\n");
+               target.add("subscriber-name\n");
+               target.add("subscriber-type");
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) {
+                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+                               ArrayList<String> requiredItems = new ArrayList<String>();
+                               String name=javaTypeElement.name();
+                               requiredItems.addAll(javaTypeElement.getRequiredElements("v11"));
+                               map.put(name,requiredItems);
+               }
+               for(String key : map.keySet()) {
+                       assertThat(map.get(key),equalTo(target));
+               }
+       }
+*/
+       @Test
+       public void testGetPathDescriptionProperty() {
+               ArrayList<String> target = new ArrayList<String>();
+               target.add("Namespace for business related constructs");
+               target.add("Collection of customer identifiers to provide linkage back to BSS information.");
+               target.add("customer identifiers to provide linkage back to BSS information.");
+               target.add("Collection of objects that group service instances.");
+               target.add("Object that group service instances.");
+               List<String> descs = new ArrayList<String>();
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+                       if(javaTypeElement.getPathDescriptionProperty() != null)
+                               descs.add(javaTypeElement.getPathDescriptionProperty());
+               }
+               logger.debug(String.join("|", descs));
+               assertThat(new ArrayList<>(descs),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+       }
+
+       @Test
+       public void testGetIndexedProps() {
+               ArrayList<String> target = new ArrayList<String>();
+               target.add("subscriber-name");
+               target.add("global-customer-id");
+               target.add("subscriber-type");
+               target.add("service-type");
+
+               Vector<String> indexedProps = new Vector<String>();
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+                       indexedProps.addAll(javaTypeElement.getIndexedProps());
+               }
+               assertThat(new ArrayList<>(indexedProps),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+       }
+
+       @Test
+       public void testGetContainerProperty() {
+               ArrayList<String> target = new ArrayList<String>();
+               target.add("service-subscriptions");
+               target.add("customers");
+               List<String> containers = new ArrayList<String>();
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+                       if(javaTypeElement.getContainerProperty() != null)
+                               containers.add(javaTypeElement.getContainerProperty());
+               }
+               logger.debug(String.join("|", containers));
+               assertThat(new ArrayList<>(containers),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+       }
+
+       @Test
+       public void testGetQueryParamYAML() {
+               ArrayList<String> target = new ArrayList<String>();
+               target.add("        - name: global-customer-id\n          in: query\n          description:\n          required: false\n          type: string\n");
+               target.add("        - name: subscriber-name\n          in: query\n          description:\n          required: false\n          type: string\n");
+               target.add("        - name: subscriber-type\n          in: query\n          description:\n          required: false\n          type: string\n");
+               Vector<String> indexedProps = new Vector<String>();
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) {
+                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+                       if(javaTypeElement.getContainerProperty() != null) {
+                               indexedProps.addAll(javaTypeElement.getIndexedProps());
+                               String container = javaTypeElement.getContainerProperty();
+                               Vector<String> containerProps = new Vector<String>();
+                               NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element");
+                               for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) {
+                                       XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j));
+                                       if(indexedProps.contains(xmlElement.name()))
+                                               containerProps.add(xmlElement.getQueryParamYAML());
+                               }
+                               GetOperation.addContainerProps(container, containerProps);
+                       }
+               }
+/*
+               List<String> queryParams = new ArrayList<String>();
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+                       if(javaTypeElement.getQueryParamYAML() != null)
+                               queryParams.add(javaTypeElement.getQueryParamYAML());
+               }
+*/
+               assertThat(GetOperation.containers.get("customers"),equalTo( target));
+       }
+
+       @Test
+       public void testGetPathParamYAML() {
+               ArrayList<String> target = new ArrayList<String>();
+               target.add("        - name: Inventory\n          in: path\n          description: Inventory\n          required: true\n          example: __INVENTORY__\n");
+               target.add("        - name: Business\n          in: path\n          description: Business\n          required: true\n          example: __BUSINESS__\n");
+               target.add("        - name: Customers\n          in: path\n          description: Customers\n          required: true\n          example: __CUSTOMERS__\n");
+               target.add("        - name: Customer\n          in: path\n          description: Customer\n          required: true\n          example: __CUSTOMER__\n");
+               target.add("        - name: ServiceSubscriptions\n          in: path\n          description: ServiceSubscriptions\n          required: true\n          example: __SERVICESUBSCRIPTIONS__\n");
+               target.add("        - name: ServiceSubscription\n          in: path\n          description: ServiceSubscription\n          required: true\n          example: __SERVICESUBSCRIPTION__\n");
+               List<String> pathParams = new ArrayList<String>();
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+                       if(javaTypeElement.getPathParamYAML(javaTypeElement.name()) != null)
+                               pathParams.add(javaTypeElement.getPathParamYAML(javaTypeElement.name()));
+               }
+               logger.debug(String.join("|", pathParams));
+               assertThat(new ArrayList<>(pathParams),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+       }
+
+       @Test
+       public void testGetHTMLAnnotation() {
+               ArrayList<String> target = new ArrayList<String>();
+               target.add("  <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + "    <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "      <annox:annotate target=\"Business\">@org.onap.aai.annotations.Metadata(description=\"Namespace for business related constructs\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + "    </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "  </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               target.add("  <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + "    <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "      <annox:annotate target=\"Customers\">@org.onap.aai.annotations.Metadata(description=\"Collection of customer identifiers to provide linkage back to BSS information.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + "    </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "  </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               target.add("  <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + "    <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "      <annox:annotate target=\"Customer\">@org.onap.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=\"global-customer-id,subscriber-name\",uniqueProps=\"global-customer-id\",container=\"customers\",namespace=\"business\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + "    </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "  </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               target.add("  <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + "    <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "      <annox:annotate target=\"ServiceSubscriptions\">@org.onap.aai.annotations.Metadata(description=\"Collection of objects that group service instances.\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + "    </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "  </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               target.add("  <xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR + "    <xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "      <annox:annotate target=\"ServiceSubscription\">@org.onap.aai.annotations.Metadata(description=\"Object that group service instances.\",indexedProps=\"service-type\",dependentOn=\"customer\",container=\"service-subscriptions\",crossEntityReference=\"service-instance,service-type\")</annox:annotate>" + OxmFileProcessor.LINE_SEPARATOR + "    </xs:appinfo>" + OxmFileProcessor.LINE_SEPARATOR + "  </xs:annotation>" + OxmFileProcessor.LINE_SEPARATOR);
+               List<String> annotes = new ArrayList<String>();
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+                       if(StringUtils.isNotEmpty(javaTypeElement.getHTMLAnnotation(javaTypeElement.name(),"")))
+                               annotes.add(javaTypeElement.getHTMLAnnotation(javaTypeElement.name(), "  "));
+               }
+               logger.debug("result:");
+               logger.debug(String.join("|", annotes));
+               logger.debug("Expected:");
+               logger.debug(String.join("|", target));
+               assertThat(new ArrayList<>(annotes),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+
+       }
+
+       @Test
+       public void testGetTypePropertyYAML() {
+               ArrayList<String> target = new ArrayList<String>();
+               target.add("      Inventory:\n        type: ");
+               target.add("      Business:\n        type:         description: Namespace for business related constructs\n");
+               target.add("      Customers:\n        type:         description: Collection of customer identifiers to provide linkage back to BSS information.\n");
+               target.add("      Customer:\n        type:         description: customer identifiers to provide linkage back to BSS information.\n");
+               target.add("      ServiceSubscriptions:\n        type:         description: Collection of objects that group service instances.\n");
+               target.add("      ServiceSubscription:\n        type:         description: Object that group service instances.\n");
+               List<String> types = new ArrayList<String>();
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+                       if(javaTypeElement.getTypePropertyYAML() != null)
+                               types.add(javaTypeElement.getTypePropertyYAML());
+               }
+               assertThat(new ArrayList<>(types),both(everyItem(is(in(target.toArray())))).and(containsInAnyOrder(target.toArray())));
+       }
+
+       @Test
+       public void testIsStandardType() {
+               HashMap<String,ArrayList<String>> map = new HashMap<String,ArrayList<String>>();
+               HashMap<String,ArrayList<String>> target = new HashMap<String,ArrayList<String>>();
+               target.put("Customer", new ArrayList<>(Arrays.asList("global-customer-id","subscriber-name", "subscriber-type","resource-version")));
+               target.put("Business", new ArrayList<>());
+               target.put("Inventory", new ArrayList<>());
+               target.put("Customers", new ArrayList<>());
+               target.put("ServiceSubscriptions", new ArrayList<>());
+               target.put("ServiceSubscription", new ArrayList<>(Arrays.asList("service-type", "temp-ub-sub-account-id", "resource-version")));
+
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++i ) {
+                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+                       ArrayList<String> addTypes = new ArrayList<String>();
+                       NodeList xmlElementNodes = javaTypeElement.getElementsByTagName("xml-element");
+                       String name=javaTypeElement.name();
+                       for ( int j = 0; j < xmlElementNodes.getLength(); ++j ) {
+                               XSDElement xmlElement = new XSDElement((Element) xmlElementNodes.item(j));
+                               if(xmlElement.isStandardType())
+                                       addTypes.add(xmlElement.name());
+                       }
+                       map.put(name,addTypes);
+               }
+               for(String key : map.keySet()) {
+                       assertThat(map.get(key),equalTo(target.get(key)));
+               }
+       }
+
+}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/XSDJavaTypeTest.java
new file mode 100644 (file)
index 0000000..556a281
--- /dev/null
@@ -0,0 +1,101 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.w3c.dom.Element;
+
+import java.util.HashMap;
+
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.junit.Assert.assertThat;
+
+public class XSDJavaTypeTest extends XSDElementTest {
+
+       @Before
+       public void setUp() throws Exception {
+               super.setUp();
+       }
+
+       @Test
+       public void testXSDJavaTypeElement() {
+               HashMap<String,String> map = new HashMap<String,String>();
+               HashMap<String,String> target = new HashMap<String,String>();
+               target.put("Customer", "global-customer-id");
+               target.put("Business", "customers");
+               target.put("Inventory", "business");
+               target.put("Customers","customer");
+               target.put("ServiceSubscriptions", "service-subscription");
+               target.put("ServiceSubscription", "service-type");
+
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+                       XSDJavaType javaType = new XSDJavaType(javaTypeElement);
+                       map.put(javaType.name(),javaType.getItemName());
+               }
+               for(String key : map.keySet()) {
+                       assertThat("For key: "+key,map.get(key),equalTo(target.get(key)));
+               }
+       }
+
+       @Test
+       public void testGetItemName() {
+               HashMap<String,String> map = new HashMap<String,String>();
+               HashMap<String,String> target = new HashMap<String,String>();
+               target.put("Customer", "global-customer-id");
+               target.put("Business", "customers");
+               target.put("Inventory", "business");
+               target.put("Customers","customer");
+               target.put("ServiceSubscriptions", "service-subscription");
+               target.put("ServiceSubscription", "service-type");
+
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+                       XSDJavaType javaType = new XSDJavaType(javaTypeElement);
+                       map.put(javaType.name(),javaType.getItemName());
+               }
+               for(String key : map.keySet()) {
+                       assertThat("For key: "+key,map.get(key),equalTo(target.get(key)));
+               }
+       }
+
+       @Test
+       public void testGetArrayType() {
+               HashMap<String,String> map = new HashMap<String,String>();
+               HashMap<String,String> target = new HashMap<String,String>();
+               target.put("Customer", null);
+               target.put("Business", null);
+               target.put("Inventory", null);
+               target.put("Customers","customer");
+               target.put("ServiceSubscriptions", "service-subscription");
+               target.put("ServiceSubscription", null);
+
+               for ( int i = 0; i < javaTypeNodes.getLength(); ++ i ) {
+                       XSDElement javaTypeElement = new XSDElement((Element) javaTypeNodes.item(i));
+                       XSDJavaType javaType = new XSDJavaType(javaTypeElement);
+                       map.put(javaType.name(),javaType.getArrayType());
+               }
+               for(String key : map.keySet()) {
+                       assertThat(map.get(key),equalTo(target.get(key)));
+               }
+       }
+
+}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java
new file mode 100644 (file)
index 0000000..7246870
--- /dev/null
@@ -0,0 +1,937 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schemagen.genxsd;
+
+import com.google.common.collect.Multimap;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.aai.edges.EdgeIngestor;
+import org.onap.aai.edges.EdgeRule;
+import org.onap.aai.edges.exceptions.EdgeRuleNotFoundException;
+import org.onap.aai.nodes.NodeIngestor;
+import org.onap.aai.schemagen.SwaggerGenerationConfiguration;
+import org.onap.aai.schemagen.testutils.TestUtilConfigTranslatorforBusiness;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.AnnotationConfigApplicationContext;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.TestPropertySource;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.SortedSet;
+import java.util.TreeSet;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = {
+               SchemaVersions.class,
+        SchemaLocationsBean.class,
+        TestUtilConfigTranslatorforBusiness.class,
+        SchemaVersions.class,
+        EdgeIngestor.class,
+        NodeIngestor.class,
+               SwaggerGenerationConfiguration.class
+
+})
+@TestPropertySource(properties = {
+               "schema.uri.base.path = /aai",
+               "schema.xsd.maxoccurs = 5000"
+})
+public class YAMLfromOXMTest {
+       @Autowired
+    EdgeIngestor edgeIngestor;
+
+       @Autowired
+    NodeIngestor nodeIngestor;
+       private static final Logger logger = LoggerFactory.getLogger("YAMLfromOXMTest.class");
+       private static final String OXMFILENAME = "src/test/resources/oxm/business_oxm_v11.xml";
+       private static final String EDGEFILENAME = "src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json";
+       public static AnnotationConfigApplicationContext ctx = null;
+       private static String testXML;
+       protected static final String SERVICE_NAME = "JUNIT";
+    boolean first = true;
+
+    @Autowired
+       YAMLfromOXM yamlFromOxm;
+
+    @Autowired
+    SchemaVersions schemaVersions;
+
+       @BeforeClass
+       public static void setUpBeforeClass() throws Exception {
+                System.setProperty("AJSC_HOME", ".");
+               System.setProperty("BUNDLECONFIG_DIR", "src/test/resources/bundleconfig-local");
+               System.setProperty("aai.service.name", SERVICE_NAME);
+
+               XSDElementTest x = new XSDElementTest();
+                       x.setUp();
+                       testXML = x.testXML;
+                       logger.debug(testXML);
+                       BufferedWriter bw = new BufferedWriter(new FileWriter(OXMFILENAME));
+                       bw.write(testXML);
+                       bw.close();
+                       BufferedWriter bw1 = new BufferedWriter(new FileWriter(EDGEFILENAME));
+                       bw1.write(EdgeDefs());
+                       bw1.close();
+
+
+
+
+
+       }
+
+       @Before
+       public void setUp() throws Exception {
+
+    }
+
+       @Test
+       public void AtestIngestors() throws EdgeRuleNotFoundException {
+               Multimap<String, EdgeRule> results = edgeIngestor.getAllRules(schemaVersions.getDefaultVersion());
+               SortedSet<String> ss=new TreeSet<String>(results.keySet());
+               for(String key : ss) {
+                       results.get(key).stream().filter((i) -> ((! i.isPrivateEdge()))).forEach((i) ->{ EdgeDescription ed = new EdgeDescription(i); System.out.println(ed.getRuleKey()); } );
+               }
+               Document doc = nodeIngestor.getSchema(schemaVersions.getDefaultVersion());
+               assertNotNull(doc);
+       }
+
+       @Test
+       public void testGetDocumentHeader() {
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String apiVersion = v.toString();
+               String header = null;
+               try {
+                       yamlFromOxm.setXmlVersion(testXML, v);
+                       yamlFromOxm.process();
+                       header = yamlFromOxm.getDocumentHeader();
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               assertThat("Header:\n"+header,header, is(YAMLheader()));
+       }
+
+       @Test
+       public void testProcess() {
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String apiVersion = v.toString();
+               String fileContent = null;
+               try {
+                       yamlFromOxm.setXmlVersion(testXML, v);
+                       fileContent = yamlFromOxm.process();
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               assertThat("FileContent-TestProcess:\n"+fileContent,fileContent, is(YAMLresult()));
+       }
+
+
+       @Test
+       public void testYAMLfromOXMFileVersionFile() throws IOException {
+               String outfileName = "testXML.xml";
+               File XMLfile = new File(outfileName);
+               XMLfile.createNewFile();
+               BufferedWriter bw = null;
+               Charset charset = Charset.forName("UTF-8");
+               Path path = Paths.get(outfileName);
+               bw = Files.newBufferedWriter(path, charset);
+               bw.write(testXML);
+               bw.close();
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String apiVersion = v.toString();
+               String fileContent = null;
+               try {
+                       yamlFromOxm.setXmlVersion(testXML, v);
+                       fileContent = yamlFromOxm.process();
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               XMLfile.delete();
+               assertThat("FileContent-OXMFileVersionFile:\n"+fileContent,fileContent, is(YAMLresult()));
+        }
+
+       @Test
+       public void testYAMLfromOXMStringVersionFile() {
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String apiVersion = v.toString();
+               String fileContent = null;
+               try {
+                       yamlFromOxm.setXmlVersion(testXML, v);
+                       fileContent = yamlFromOxm.process();
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               assertThat("FileContent-OXMStringVersionFile:\n"+fileContent,fileContent, is(YAMLresult()));
+       }
+
+       @Test
+       public void testAppendDefinitions() {
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String apiVersion = v.toString();
+               String definitions = null;
+               try {
+                       yamlFromOxm.setXmlVersion(testXML, v);
+                       yamlFromOxm.process();
+                       definitions = yamlFromOxm.appendDefinitions();
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               assertThat("Definitions:\n"+definitions,definitions, is(YAMLdefs()+YAMLpatchDefs()+YAMLgetDefs()));
+       }
+
+       @Test
+       public void testGetXMLRootElementName() {
+               String target = "RootElement=customer";
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String apiVersion = v.toString();
+               Element customer = null;
+               String root = null;
+               try {
+                       yamlFromOxm.setXmlVersion(testXML, v);
+                       yamlFromOxm.process();
+                       customer = yamlFromOxm.getJavaTypeElementSwagger("Customer");
+                       root = yamlFromOxm.getXMLRootElementName(customer);
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               assertThat("RootElement="+root, is(target));
+       }
+
+       @Test
+       public void testGetXmlRootElementName() {
+               String target = "RootElement=customer";
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String apiVersion = v.toString();
+               String root = null;
+               try {
+                       yamlFromOxm.setXmlVersion(testXML, v);
+                       yamlFromOxm.process();
+                       root = yamlFromOxm.getXmlRootElementName("Customer");
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               assertThat("RootElement="+root, is(target));
+       }
+
+       @Test
+       public void testGetJavaTypeElementSwagger() {
+               String target = "Element=java-type/Customer";
+               SchemaVersion v = schemaVersions.getAppRootVersion();
+               String apiVersion = v.toString();
+               Element customer = null;
+               try {
+                       yamlFromOxm.setXmlVersion(testXML, v);
+                       yamlFromOxm.process();
+                       customer = yamlFromOxm.getJavaTypeElementSwagger("Customer");
+               } catch(Exception e) {
+                       e.printStackTrace();
+               }
+               assertThat("Element="+customer.getNodeName()+"/"+customer.getAttribute("name"), is(target));
+       }
+
+       public String YAMLresult() {
+               StringBuilder sb = new StringBuilder(32368);
+               sb.append(YAMLheader());
+               sb.append(YAMLops());
+               sb.append(YAMLdefs());
+               sb.append(YAMLpatchDefs());
+               sb.append(YAMLgetDefs());
+               return sb.toString();
+       }
+       public String YAMLheader() {
+               StringBuilder sb = new StringBuilder(1500);
+               sb.append("swagger: \"2.0\"\n");
+               sb.append("info:\n");
+               sb.append("  description: |\n");
+               sb.append("\n");
+               sb.append("    [Differences versus the previous schema version](apidocs/aai_swagger_v11.diff)\n");
+               sb.append("\n");
+               sb.append("    Copyright &copy; 2017-18 AT&amp;T Intellectual Property. All rights reserved.\n");
+               sb.append("\n");
+               sb.append("    Licensed under the Creative Commons License, Attribution 4.0 Intl. (the &quot;License&quot;); you may not use this documentation except in compliance with the License.\n");
+               sb.append("\n");
+               sb.append("    You may obtain a copy of the License at\n");
+               sb.append("\n");
+               sb.append("    (https://creativecommons.org/licenses/by/4.0/)\n");
+               sb.append("\n");
+               sb.append("    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an &quot;AS IS&quot; 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.\n");
+               sb.append("\n");
+               sb.append("    This document is best viewed with Firefox or Chrome. Nodes can be found by appending /#/definitions/node-type-to-find to the path to this document. Edge definitions can be found with the node definitions.\n");
+               sb.append("  version: \"v11\"\n");
+               sb.append("  title: Active and Available Inventory REST API\n");
+               sb.append("  license:\n");
+               sb.append("    name: Apache 2.0\n");
+               sb.append("    url: http://www.apache.org/licenses/LICENSE-2.0.html\n");
+               sb.append("  contact:\n");
+               sb.append("    name:\n");
+               sb.append("    url:\n");
+               sb.append("    email:\n");
+               sb.append("host:\n");
+               sb.append("basePath: /aai/v11\n");
+               sb.append("schemes:\n");
+               sb.append("  - https\n");
+               sb.append("paths:\n");
+               return sb.toString();
+       }
+
+       public String YAMLops() {
+               StringBuilder sb = new StringBuilder(16384);
+               sb.append("  /business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}:\n");
+               sb.append("    get:\n");
+               sb.append("      tags:\n");
+               sb.append("        - Business\n");
+               sb.append("      summary: returns service-subscription\n");
+               sb.append("      description: returns service-subscription\n");
+               sb.append("      operationId: getBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
+               sb.append("      produces:\n");
+               sb.append("        - application/json\n");
+               sb.append("        - application/xml\n");
+               sb.append("      responses:\n");
+               sb.append("        \"200\":\n");
+               sb.append("          description: successful operation\n");
+               sb.append("          schema:\n");
+               sb.append("              $ref: \"#/getDefinitions/service-subscription\"\n");
+               sb.append("        \"default\":\n");
+               sb.append("          null      parameters:\n");
+               sb.append("        - name: global-customer-id\n");
+               sb.append("          in: path\n");
+               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+               sb.append("          required: true\n");
+               sb.append("          type: string\n");
+               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+               sb.append("        - name: service-type\n");
+               sb.append("          in: path\n");
+               sb.append("          description: Value defined by orchestration to identify this service.\n");
+               sb.append("          required: true\n");
+               sb.append("          type: string\n");
+               sb.append("          example: __SERVICE-TYPE__\n");
+               sb.append("    put:\n");
+               sb.append("      tags:\n");
+               sb.append("        - Business\n");
+               sb.append("      summary: create or update an existing service-subscription\n");
+               sb.append("      description: |\n");
+               sb.append("        Create or update an existing service-subscription.\n");
+               sb.append("        #\n");
+               sb.append("        Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement.  An example can be found in the [PATCH section] below\n");
+               sb.append("      operationId: createOrUpdateBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
+               sb.append("      consumes:\n");
+               sb.append("        - application/json\n");
+               sb.append("        - application/xml\n");
+               sb.append("      produces:\n");
+               sb.append("        - application/json\n");
+               sb.append("        - application/xml\n");
+               sb.append("      responses:\n");
+               sb.append("        \"default\":\n");
+               sb.append("          null      parameters:\n");
+               sb.append("        - name: global-customer-id\n");
+               sb.append("          in: path\n");
+               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+               sb.append("          required: true\n");
+               sb.append("          type: string\n");
+               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+               sb.append("        - name: service-type\n");
+               sb.append("          in: path\n");
+               sb.append("          description: Value defined by orchestration to identify this service.\n");
+               sb.append("          required: true\n");
+               sb.append("          type: string\n");
+               sb.append("          example: __SERVICE-TYPE__\n");
+               sb.append("        - name: body\n");
+               sb.append("          in: body\n");
+               sb.append("          description: service-subscription object that needs to be created or updated. [Valid relationship examples shown here](apidocs/relations/v11/BusinessCustomersCustomerServiceSubscriptionsServiceSubscription.json)\n");
+               sb.append("          required: true\n");
+               sb.append("          schema:\n");
+               sb.append("            $ref: \"#/definitions/service-subscription\"\n");
+               sb.append("    patch:\n");
+               sb.append("      tags:\n");
+               sb.append("        - Business\n");
+               sb.append("      summary: update an existing service-subscription\n");
+               sb.append("      description: |\n");
+               sb.append("        Update an existing service-subscription\n");
+               sb.append("        #\n");
+               sb.append("        Note:  Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n");
+               sb.append("        The PUT operation will entirely replace an existing object.\n");
+               sb.append("        The PATCH operation sends a \"description of changes\" for an existing object.  The entire set of changes must be applied.  An error result means no change occurs.\n");
+               sb.append("        #\n");
+               sb.append("        Other differences between PUT and PATCH are:\n");
+               sb.append("        #\n");
+               sb.append("        - For PATCH, you can send any of the values shown in sample REQUEST body.  There are no required values.\n");
+               sb.append("        - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n");
+               sb.append("        - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n");
+               sb.append("      operationId: UpdateBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
+               sb.append("      consumes:\n");
+               sb.append("        - application/json\n");
+               sb.append("      produces:\n");
+               sb.append("        - application/json\n");
+               sb.append("      responses:\n");
+               sb.append("        \"default\":\n");
+               sb.append("          null      parameters:\n");
+               sb.append("        - name: global-customer-id\n");
+               sb.append("          in: path\n");
+               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+               sb.append("          required: true\n");
+               sb.append("          type: string\n");
+               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+               sb.append("        - name: service-type\n");
+               sb.append("          in: path\n");
+               sb.append("          description: Value defined by orchestration to identify this service.\n");
+               sb.append("          required: true\n");
+               sb.append("          type: string\n");
+               sb.append("          example: __SERVICE-TYPE__\n");
+               sb.append("        - name: body\n");
+               sb.append("          in: body\n");
+               sb.append("          description: service-subscription object that needs to be updated.\n");
+               sb.append("          required: true\n");
+               sb.append("          schema:\n");
+               sb.append("            $ref: \"#/patchDefinitions/service-subscription\"\n");
+               sb.append("    delete:\n");
+               sb.append("      tags:\n");
+               sb.append("        - Business\n");
+               sb.append("      summary: delete an existing service-subscription\n");
+               sb.append("      description: delete an existing service-subscription\n");
+               sb.append("      operationId: deleteBusinessCustomersCustomerServiceSubscriptionsServiceSubscription\n");
+               sb.append("      consumes:\n");
+               sb.append("        - application/json\n");
+               sb.append("        - application/xml\n");
+               sb.append("      produces:\n");
+               sb.append("        - application/json\n");
+               sb.append("        - application/xml\n");
+               sb.append("      responses:\n");
+               sb.append("        \"default\":\n");
+               sb.append("          null      parameters:\n");
+               sb.append("        - name: global-customer-id\n");
+               sb.append("          in: path\n");
+               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+               sb.append("          required: true\n");
+               sb.append("          type: string\n");
+               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+               sb.append("        - name: service-type\n");
+               sb.append("          in: path\n");
+               sb.append("          description: Value defined by orchestration to identify this service.\n");
+               sb.append("          required: true\n");
+               sb.append("          type: string\n");
+               sb.append("          example: __SERVICE-TYPE__\n");
+               sb.append("        - name: resource-version\n");
+               sb.append("          in: query\n");
+               sb.append("          description: resource-version for concurrency\n");
+               sb.append("          required: true\n");
+               sb.append("          type: string\n");
+               sb.append("  /business/customers/customer/{global-customer-id}/service-subscriptions:\n");
+               sb.append("    get:\n");
+               sb.append("      tags:\n");
+               sb.append("        - Business\n");
+               sb.append("      summary: returns service-subscriptions\n");
+               sb.append("      description: returns service-subscriptions\n");
+               sb.append("      operationId: getBusinessCustomersCustomerServiceSubscriptions\n");
+               sb.append("      produces:\n");
+               sb.append("        - application/json\n");
+               sb.append("        - application/xml\n");
+               sb.append("      responses:\n");
+               sb.append("        \"200\":\n");
+               sb.append("          description: successful operation\n");
+               sb.append("          schema:\n");
+               sb.append("              $ref: \"#/getDefinitions/service-subscriptions\"\n");
+               sb.append("        \"default\":\n");
+               sb.append("          null      parameters:\n");
+               sb.append("        - name: global-customer-id\n");
+               sb.append("          in: path\n");
+               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+               sb.append("          required: true\n");
+               sb.append("          type: string\n");
+               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+               sb.append("        - name: service-type\n");
+               sb.append("          in: query\n");
+               sb.append("          description:\n");
+               sb.append("          required: false\n");
+               sb.append("          type: string\n");
+               sb.append("  /business/customers/customer/{global-customer-id}:\n");
+               sb.append("    get:\n");
+               sb.append("      tags:\n");
+               sb.append("        - Business\n");
+               sb.append("      summary: returns customer\n");
+               sb.append("      description: returns customer\n");
+               sb.append("      operationId: getBusinessCustomersCustomer\n");
+               sb.append("      produces:\n");
+               sb.append("        - application/json\n");
+               sb.append("        - application/xml\n");
+               sb.append("      responses:\n");
+               sb.append("        \"200\":\n");
+               sb.append("          description: successful operation\n");
+               sb.append("          schema:\n");
+               sb.append("              $ref: \"#/getDefinitions/customer\"\n");
+               sb.append("        \"default\":\n");
+               sb.append("          null      parameters:\n");
+               sb.append("        - name: global-customer-id\n");
+               sb.append("          in: path\n");
+               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+               sb.append("          required: true\n");
+               sb.append("          type: string\n");
+               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+               sb.append("    put:\n");
+               sb.append("      tags:\n");
+               sb.append("        - Business\n");
+               sb.append("      summary: create or update an existing customer\n");
+               sb.append("      description: |\n");
+               sb.append("        Create or update an existing customer.\n");
+               sb.append("        #\n");
+               sb.append("        Note! This PUT method has a corresponding PATCH method that can be used to update just a few of the fields of an existing object, rather than a full object replacement.  An example can be found in the [PATCH section] below\n");
+               sb.append("      operationId: createOrUpdateBusinessCustomersCustomer\n");
+               sb.append("      consumes:\n");
+               sb.append("        - application/json\n");
+               sb.append("        - application/xml\n");
+               sb.append("      produces:\n");
+               sb.append("        - application/json\n");
+               sb.append("        - application/xml\n");
+               sb.append("      responses:\n");
+               sb.append("        \"default\":\n");
+               sb.append("          null      parameters:\n");
+               sb.append("        - name: global-customer-id\n");
+               sb.append("          in: path\n");
+               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+               sb.append("          required: true\n");
+               sb.append("          type: string\n");
+               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+               sb.append("        - name: body\n");
+               sb.append("          in: body\n");
+               sb.append("          description: customer object that needs to be created or updated. [Valid relationship examples shown here](apidocs/relations/v11/BusinessCustomersCustomer.json)\n");
+               sb.append("          required: true\n");
+               sb.append("          schema:\n");
+               sb.append("            $ref: \"#/definitions/customer\"\n");
+               sb.append("    patch:\n");
+               sb.append("      tags:\n");
+               sb.append("        - Business\n");
+               sb.append("      summary: update an existing customer\n");
+               sb.append("      description: |\n");
+               sb.append("        Update an existing customer\n");
+               sb.append("        #\n");
+               sb.append("        Note:  Endpoints that are not devoted to object relationships support both PUT and PATCH operations.\n");
+               sb.append("        The PUT operation will entirely replace an existing object.\n");
+               sb.append("        The PATCH operation sends a \"description of changes\" for an existing object.  The entire set of changes must be applied.  An error result means no change occurs.\n");
+               sb.append("        #\n");
+               sb.append("        Other differences between PUT and PATCH are:\n");
+               sb.append("        #\n");
+               sb.append("        - For PATCH, you can send any of the values shown in sample REQUEST body.  There are no required values.\n");
+               sb.append("        - For PATCH, resource-id which is a required REQUEST body element for PUT, must not be sent.\n");
+               sb.append("        - PATCH cannot be used to update relationship elements; there are dedicated PUT operations for this.\n");
+               sb.append("      operationId: UpdateBusinessCustomersCustomer\n");
+               sb.append("      consumes:\n");
+               sb.append("        - application/json\n");
+               sb.append("      produces:\n");
+               sb.append("        - application/json\n");
+               sb.append("      responses:\n");
+               sb.append("        \"default\":\n");
+               sb.append("          null      parameters:\n");
+               sb.append("        - name: global-customer-id\n");
+               sb.append("          in: path\n");
+               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+               sb.append("          required: true\n");
+               sb.append("          type: string\n");
+               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+               sb.append("        - name: body\n");
+               sb.append("          in: body\n");
+               sb.append("          description: customer object that needs to be updated.\n");
+               sb.append("          required: true\n");
+               sb.append("          schema:\n");
+               sb.append("            $ref: \"#/patchDefinitions/customer\"\n");
+               sb.append("    delete:\n");
+               sb.append("      tags:\n");
+               sb.append("        - Business\n");
+               sb.append("      summary: delete an existing customer\n");
+               sb.append("      description: delete an existing customer\n");
+               sb.append("      operationId: deleteBusinessCustomersCustomer\n");
+               sb.append("      consumes:\n");
+               sb.append("        - application/json\n");
+               sb.append("        - application/xml\n");
+               sb.append("      produces:\n");
+               sb.append("        - application/json\n");
+               sb.append("        - application/xml\n");
+               sb.append("      responses:\n");
+               sb.append("        \"default\":\n");
+               sb.append("          null      parameters:\n");
+               sb.append("        - name: global-customer-id\n");
+               sb.append("          in: path\n");
+               sb.append("          description: Global customer id used across to uniquely identify customer.\n");
+               sb.append("          required: true\n");
+               sb.append("          type: string\n");
+               sb.append("          example: __GLOBAL-CUSTOMER-ID__\n");
+               sb.append("        - name: resource-version\n");
+               sb.append("          in: query\n");
+               sb.append("          description: resource-version for concurrency\n");
+               sb.append("          required: true\n");
+               sb.append("          type: string\n");
+               sb.append("  /business/customers:\n");
+               sb.append("    get:\n");
+               sb.append("      tags:\n");
+               sb.append("        - Business\n");
+               sb.append("      summary: returns customers\n");
+               sb.append("      description: returns customers\n");
+               sb.append("      operationId: getBusinessCustomers\n");
+               sb.append("      produces:\n");
+               sb.append("        - application/json\n");
+               sb.append("        - application/xml\n");
+               sb.append("      responses:\n");
+               sb.append("        \"200\":\n");
+               sb.append("          description: successful operation\n");
+               sb.append("          schema:\n");
+               sb.append("              $ref: \"#/getDefinitions/customers\"\n");
+               sb.append("        \"default\":\n");
+               sb.append("          null      parameters:\n");
+               sb.append("        - name: global-customer-id\n");
+               sb.append("          in: query\n");
+               sb.append("          description:\n");
+               sb.append("          required: false\n");
+               sb.append("          type: string\n");
+               sb.append("        - name: subscriber-name\n");
+               sb.append("          in: query\n");
+               sb.append("          description:\n");
+               sb.append("          required: false\n");
+               sb.append("          type: string\n");
+               sb.append("        - name: subscriber-type\n");
+               sb.append("          in: query\n");
+               sb.append("          description:\n");
+               sb.append("          required: false\n");
+               sb.append("          type: string\n");
+               return sb.toString();
+       }
+       public String YAMLdefs() {
+               StringBuilder sb = new StringBuilder(8092);
+               sb.append("definitions:\n");
+               sb.append("  business:\n");
+               sb.append("    description: |\n");
+               sb.append("      Namespace for business related constructs\n");
+               sb.append("    properties:\n");
+               sb.append("      customers:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:\n");
+               sb.append("          $ref: \"#/definitions/customer\"\n");
+               sb.append("  customer:\n");
+               sb.append("    description: |\n");
+               sb.append("      customer identifiers to provide linkage back to BSS information.\n");
+               sb.append("      ###### Related Nodes\n");
+               sb.append("      - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
+               sb.append("\n");
+               sb.append("      -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
+               sb.append("    required:\n");
+               sb.append("    - global-customer-id\n");
+               sb.append("    - subscriber-name\n");
+               sb.append("    - subscriber-type\n");
+               sb.append("    properties:\n");
+               sb.append("      global-customer-id:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Global customer id used across to uniquely identify customer.\n");
+               sb.append("      subscriber-name:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Subscriber name, an alternate way to retrieve a customer.\n");
+               sb.append("      subscriber-type:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
+               sb.append("      resource-version:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\n");
+               sb.append("      service-subscriptions:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:\n");
+               sb.append("          $ref: \"#/definitions/service-subscription\"\n");
+               sb.append("  customers:\n");
+               sb.append("    description: |\n");
+               sb.append("      Collection of customer identifiers to provide linkage back to BSS information.\n");
+               sb.append("    properties:\n");
+               sb.append("      customer:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:          \n");
+               sb.append("          $ref: \"#/definitions/customer\"\n");
+               sb.append("  inventory:\n");
+               sb.append("    properties:\n");
+               sb.append("      business:\n");
+               sb.append("        type: object\n");
+               sb.append("        $ref: \"#/definitions/business\"\n");
+               sb.append("  nodes:\n");
+               sb.append("    properties:\n");
+               sb.append("      inventory-item-data:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:\n");
+               sb.append("          $ref: \"#/definitions/inventory-item-data\"\n");
+               sb.append("  service-subscription:\n");
+               sb.append("    description: |\n");
+               sb.append("      Object that group service instances.\n");
+               sb.append("      ###### Related Nodes\n");
+               sb.append("      - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
+               sb.append("      - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
+               sb.append("      - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
+               sb.append("\n");
+               sb.append("      -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
+               sb.append("      -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
+               sb.append("    required:\n");
+               sb.append("    - service-type\n");
+               sb.append("    properties:\n");
+               sb.append("      service-type:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Value defined by orchestration to identify this service.\n");
+               sb.append("      temp-ub-sub-account-id:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
+               sb.append("      resource-version:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\n");
+               sb.append("  service-subscriptions:\n");
+               sb.append("    description: |\n");
+               sb.append("      Collection of objects that group service instances.\n");
+               sb.append("    properties:\n");
+               sb.append("      service-subscription:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:          \n");
+               sb.append("          $ref: \"#/definitions/service-subscription\"\n");
+               return sb.toString();
+       }
+       public String YAMLpatchDefs() {
+               StringBuilder sb = new StringBuilder(8092);
+               sb.append("patchDefinitions:\n");
+               sb.append("  business:\n");
+               sb.append("    description: |\n");
+               sb.append("      Namespace for business related constructs\n");
+               sb.append("    properties:\n");
+               sb.append("      customers:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:\n");
+               sb.append("          $ref: \"#/patchDefinitions/customer\"\n");
+               sb.append("  customer:\n");
+               sb.append("    description: |\n");
+               sb.append("      customer identifiers to provide linkage back to BSS information.\n");
+               sb.append("      ###### Related Nodes\n");
+               sb.append("      - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
+               sb.append("\n");
+               sb.append("      -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
+               sb.append("    required:\n");
+               sb.append("    - global-customer-id\n");
+               sb.append("    - subscriber-name\n");
+               sb.append("    - subscriber-type\n");
+               sb.append("    properties:\n");
+               sb.append("      global-customer-id:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Global customer id used across to uniquely identify customer.\n");
+               sb.append("      subscriber-name:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Subscriber name, an alternate way to retrieve a customer.\n");
+               sb.append("      subscriber-type:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
+               sb.append("  customers:\n");
+               sb.append("    description: |\n");
+               sb.append("      Collection of customer identifiers to provide linkage back to BSS information.\n");
+               sb.append("    properties:\n");
+               sb.append("      customer:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:          \n");
+               sb.append("          $ref: \"#/patchDefinitions/customer\"\n");
+               sb.append("  inventory:\n");
+               sb.append("    properties:\n");
+               sb.append("      business:\n");
+               sb.append("        type: object\n");
+               sb.append("        $ref: \"#/patchDefinitions/business\"\n");
+               sb.append("  nodes:\n");
+               sb.append("    properties:\n");
+               sb.append("      inventory-item-data:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:\n");
+               sb.append("          $ref: \"#/patchDefinitions/inventory-item-data\"\n");
+               sb.append("  service-subscription:\n");
+               sb.append("    description: |\n");
+               sb.append("      Object that group service instances.\n");
+               sb.append("      ###### Related Nodes\n");
+               sb.append("      - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
+               sb.append("      - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
+               sb.append("      - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
+               sb.append("\n");
+               sb.append("      -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
+               sb.append("      -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
+               sb.append("    required:\n");
+               sb.append("    - service-type\n");
+               sb.append("    properties:\n");
+               sb.append("      service-type:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Value defined by orchestration to identify this service.\n");
+               sb.append("      temp-ub-sub-account-id:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
+               sb.append("  service-subscriptions:\n");
+               sb.append("    description: |\n");
+               sb.append("      Collection of objects that group service instances.\n");
+               sb.append("    properties:\n");
+               sb.append("      service-subscription:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:          \n");
+               sb.append("          $ref: \"#/patchDefinitions/service-subscription\"\n");
+               return sb.toString();
+       }
+       public String YAMLgetDefs() {
+               StringBuilder sb = new StringBuilder(8092);
+               sb.append("getDefinitions:\n");
+               sb.append("  business:\n");
+               sb.append("    description: |\n");
+               sb.append("      Namespace for business related constructs\n");
+               sb.append("    properties:\n");
+               sb.append("      customers:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:\n");
+               sb.append("          $ref: \"#/getDefinitions/customer\"\n");
+               sb.append("  customer:\n");
+               sb.append("    description: |\n");
+               sb.append("      customer identifiers to provide linkage back to BSS information.\n");
+               sb.append("      ###### Related Nodes\n");
+               sb.append("      - FROM service-subscription (CHILD of customer, service-subscription BelongsTo customer, MANY2ONE)(1)\n");
+               sb.append("\n");
+               sb.append("      -(1) IF this CUSTOMER node is deleted, this FROM node is DELETED also\n");
+               sb.append("    required:\n");
+               sb.append("    - global-customer-id\n");
+               sb.append("    - subscriber-name\n");
+               sb.append("    - subscriber-type\n");
+               sb.append("    properties:\n");
+               sb.append("      global-customer-id:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Global customer id used across to uniquely identify customer.\n");
+               sb.append("      subscriber-name:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Subscriber name, an alternate way to retrieve a customer.\n");
+               sb.append("      subscriber-type:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Subscriber type, a way to provide VID with only the INFRA customers.\n");
+               sb.append("      resource-version:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\n");
+               sb.append("      service-subscriptions:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:\n");
+               sb.append("          $ref: \"#/getDefinitions/service-subscription\"\n");
+               sb.append("  customers:\n");
+               sb.append("    description: |\n");
+               sb.append("      Collection of customer identifiers to provide linkage back to BSS information.\n");
+               sb.append("    properties:\n");
+               sb.append("      customer:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:          \n");
+               sb.append("          $ref: \"#/getDefinitions/customer\"\n");
+               sb.append("  inventory:\n");
+               sb.append("    properties:\n");
+               sb.append("      business:\n");
+               sb.append("        type: object\n");
+               sb.append("        $ref: \"#/getDefinitions/business\"\n");
+               sb.append("  nodes:\n");
+               sb.append("    properties:\n");
+               sb.append("      inventory-item-data:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:\n");
+               sb.append("          $ref: \"#/getDefinitions/inventory-item-data\"\n");
+               sb.append("  service-subscription:\n");
+               sb.append("    description: |\n");
+               sb.append("      Object that group service instances.\n");
+               sb.append("      ###### Related Nodes\n");
+               sb.append("      - TO customer (PARENT of service-subscription, service-subscription BelongsTo customer, MANY2ONE)(4)\n");
+               sb.append("      - TO tenant( service-subscription Uses tenant, MANY2MANY)\n");
+               sb.append("      - FROM service-instance (CHILD of service-subscription, service-instance BelongsTo service-subscription, MANY2ONE)(1)\n");
+               sb.append("\n");
+               sb.append("      -(1) IF this SERVICE-SUBSCRIPTION node is deleted, this FROM node is DELETED also\n");
+               sb.append("      -(4) IF this TO node is deleted, this SERVICE-SUBSCRIPTION is DELETED also\n");
+               sb.append("    required:\n");
+               sb.append("    - service-type\n");
+               sb.append("    properties:\n");
+               sb.append("      service-type:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Value defined by orchestration to identify this service.\n");
+               sb.append("      temp-ub-sub-account-id:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: This property will be deleted from A&AI in the near future. Only stop gap solution.\n");
+               sb.append("      resource-version:\n");
+               sb.append("        type: string\n");
+               sb.append("        description: Used for optimistic concurrency.  Must be empty on create, valid on update and delete.\n");
+               sb.append("  service-subscriptions:\n");
+               sb.append("    description: |\n");
+               sb.append("      Collection of objects that group service instances.\n");
+               sb.append("    properties:\n");
+               sb.append("      service-subscription:\n");
+               sb.append("        type: array\n");
+               sb.append("        items:          \n");
+               sb.append("          $ref: \"#/getDefinitions/service-subscription\"\n");
+               return sb.toString();
+       }
+       public static String EdgeDefs() {
+               StringBuilder sb = new StringBuilder(8092);
+               sb.append("{\n" +
+                               "       \"rules\": [\n");
+               sb.append("             {\n");
+               sb.append("                     \"from\": \"service-subscription\",\n");
+               sb.append("                     \"to\": \"customer\",\n" +
+                               "                       \"label\": \"org.onap.relationships.inventory.BelongsTo\",\n" +
+                               "                       \"direction\": \"OUT\",\n" +
+                               "                       \"multiplicity\": \"MANY2ONE\",\n" +
+                               "                       \"contains-other-v\": \"!${direction}\",\n" +
+                               "                       \"delete-other-v\": \"!${direction}\",\n" +
+                               "                       \"prevent-delete\": \"NONE\",\n" +
+                               "                       \"default\": \"true\",\n" +
+                               "                       \"description\":\"\"\n");
+               sb.append("             },\n");
+               sb.append("             {\n" +
+                               "                       \"from\": \"service-instance\",\n" +
+                               "                       \"to\": \"service-subscription\",\n" +
+                               "                       \"label\": \"org.onap.relationships.inventory.BelongsTo\",\n" +
+                               "                       \"direction\": \"OUT\",\n" +
+                               "                       \"multiplicity\": \"MANY2ONE\",\n" +
+                               "                       \"contains-other-v\": \"!${direction}\",\n" +
+                               "                       \"delete-other-v\": \"!${direction}\",\n" +
+                               "                       \"prevent-delete\": \"NONE\",\n" +
+                               "                       \"default\": \"true\",\n" +
+                               "                       \"description\":\"\"\n" +
+                               "               },\n");
+               sb.append("             {\n" +
+                               "                       \"from\": \"service-subscription\",\n" +
+                               "                       \"to\": \"tenant\",\n" +
+                               "                       \"label\": \"org.onap.relationships.inventory.Uses\",\n" +
+                               "                       \"direction\": \"OUT\",\n" +
+                               "                       \"multiplicity\": \"MANY2MANY\",\n" +
+                               "                       \"contains-other-v\": \"NONE\",\n" +
+                               "                       \"delete-other-v\": \"NONE\",\n" +
+                               "                       \"prevent-delete\": \"NONE\",\n" +
+                               "                       \"default\": \"true\",\n" +
+                               "                       \"description\":\"\"\n" +
+                               "               }");
+               sb.append("     ]\n" +
+                               "}\n");
+               return sb.toString();
+       }
+}
+
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforBusiness.java
new file mode 100644 (file)
index 0000000..12683b4
--- /dev/null
@@ -0,0 +1,73 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-18 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.onap.aai.schemagen.testutils;
+
+import org.onap.aai.setup.ConfigTranslator;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+public class TestUtilConfigTranslatorforBusiness extends ConfigTranslator {
+
+       public TestUtilConfigTranslatorforBusiness(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
+               super(bean, schemaVersions);
+       }
+
+       @Override
+       public Map<SchemaVersion, List<String>> getNodeFiles() {
+
+               List<String> files11 = new ArrayList<>();
+               files11.add("src/test/resources/oxm/business_oxm_v11.xml");
+
+               List<String> files13 = new ArrayList<>();
+               files13.add("src/test/resources/oxm/business_oxm_v13.xml");
+               files13.add("src/test/resources/oxm/common_oxm_v13.xml");
+               files13.add("src/test/resources/oxm/serviceDesign_oxm_v13.xml");
+               files13.add("src/test/resources/oxm/network_oxm_v13.xml");
+
+               Map<SchemaVersion, List<String>> input = new TreeMap<>();
+               input.put(new SchemaVersion("v11"), files11);
+               input.put(schemaVersions.getDefaultVersion(), files13);
+               return input;
+       }
+
+       @Override
+       public Map<SchemaVersion, List<String>> getEdgeFiles() {
+               List<String> files = new ArrayList<>();
+               files.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json");
+               Map<SchemaVersion, List<String>> input = new TreeMap<>();
+               input.put(schemaVersions.getDefaultVersion(), files);
+
+               List<String> files2 = new ArrayList<>();
+               files2.add("src/test/resources/dbedgerules/test.json");
+
+               List<String> files3 = new ArrayList<>();
+               files3.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json");
+               input.put(new SchemaVersion("v11"), files3);
+
+               return input;
+       }
+}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforDataLink.java
new file mode 100644 (file)
index 0000000..5117245
--- /dev/null
@@ -0,0 +1,59 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-18 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.onap.aai.schemagen.testutils;
+
+import org.onap.aai.setup.ConfigTranslator;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+public class TestUtilConfigTranslatorforDataLink extends ConfigTranslator {
+
+       public TestUtilConfigTranslatorforDataLink(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
+               super(bean, schemaVersions);
+       }
+
+       @Override
+       public Map<SchemaVersion, List<String>> getNodeFiles() {
+
+               Map<SchemaVersion, List<String>> input = new TreeMap<>();
+               input.put(new SchemaVersion("v1"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_one.xml"));
+               input.put(new SchemaVersion("v2"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_two.xml"));
+               input.put(new SchemaVersion("v3"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_three.xml"));
+               input.put(new SchemaVersion("v4"), Arrays.asList("src/test/resources/oxm/dbalias_oxm_four.xml"));
+               return input;
+       }
+
+       @Override
+       public Map<SchemaVersion, List<String>> getEdgeFiles() {
+               Map<SchemaVersion, List<String>> input = new TreeMap<>();
+               input.put(new SchemaVersion("v1"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_one.json"));
+               input.put(new SchemaVersion("v2"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_two.json"));
+               input.put(new SchemaVersion("v3"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_three.json"));
+               input.put(new SchemaVersion("v4"), Arrays.asList("src/test/resources/dbedgerules/DbEdgerules_four.json"));
+               return input;
+       }
+}
diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/testutils/TestUtilConfigTranslatorforEdges.java
new file mode 100644 (file)
index 0000000..7eaa6f5
--- /dev/null
@@ -0,0 +1,73 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-18 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.onap.aai.schemagen.testutils;
+
+import org.onap.aai.setup.ConfigTranslator;
+import org.onap.aai.setup.SchemaLocationsBean;
+import org.onap.aai.setup.SchemaVersion;
+import org.onap.aai.setup.SchemaVersions;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+public class TestUtilConfigTranslatorforEdges extends ConfigTranslator {
+
+       public TestUtilConfigTranslatorforEdges(SchemaLocationsBean bean, SchemaVersions schemaVersions) {
+               super(bean, schemaVersions);
+       }
+
+       @Override
+       public Map<SchemaVersion, List<String>> getNodeFiles() {
+               List<String> files11 = new ArrayList<>();
+               files11.add("src/test/resources/oxm/business_oxm_v11.xml");
+
+               List<String> files13 = new ArrayList<>();
+               files13.add("src/test/resources/oxm/business_oxm_v13.xml");
+               files13.add("src/test/resources/oxm/common_oxm_v13.xml");
+               files13.add("src/test/resources/oxm/serviceDesign_oxm_v13.xml");
+               files13.add("src/test/resources/oxm/network_oxm_v13.xml");
+
+               Map<SchemaVersion, List<String>> input = new TreeMap<>();
+               input.put(new SchemaVersion("v11"), files11);
+               input.put(new SchemaVersion("v13"), files13);
+               return input;
+       }
+
+       @Override
+       public Map<SchemaVersion, List<String>> getEdgeFiles() {
+               List<String> files = new ArrayList<>();
+               files.add("src/test/resources/dbedgerules/test.json");
+               files.add("src/test/resources/dbedgerules/test2.json");
+               Map<SchemaVersion, List<String>> input = new TreeMap<>();
+               input.put(schemaVersions.getDefaultVersion(), files);
+
+               List<String> files2 = new ArrayList<>();
+               files2.add("src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json");
+               input.put(new SchemaVersion("v10"), files2);
+               List<String> files3 = new ArrayList<>();
+               files3.add("src/test/resources/dbedgerules/EdgeDescriptionRules_test.json");
+               input.put(new SchemaVersion("v11"), files3);
+
+               return input;
+       }
+}
diff --git a/aai-schema-gen/src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json b/aai-schema-gen/src/test/resources/dbedgerules/DbEdgeBusinessRules_test.json
new file mode 100644 (file)
index 0000000..c25f1fb
--- /dev/null
@@ -0,0 +1,39 @@
+{
+       "rules": [
+               {
+                       "from": "service-subscription",
+                       "to": "customer",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "service-subscription",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-subscription",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               }       ]
+}
diff --git a/aai-schema-gen/src/test/resources/dbedgerules/DbEdgeRules_PrivateEdges.json b/aai-schema-gen/src/test/resources/dbedgerules/DbEdgeRules_PrivateEdges.json
new file mode 100644 (file)
index 0000000..5940e5c
--- /dev/null
@@ -0,0 +1,77 @@
+{
+  "rules": [
+    {
+      "from": "pserver",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true",
+      "description":""
+    },
+    {
+      "from": "model-element",
+      "to": "model-ver",
+      "label": "org.onap.relationships.inventory.IsA",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true",
+      "description":""
+    },
+    {
+      "from": "metadatum",
+      "to": "model-ver",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true",
+      "description":""
+    },
+    {
+      "from": "model-element",
+      "to": "model-ver",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true",
+      "description":""
+    },
+    {
+      "from": "model-private",
+      "to": "model-ver",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true",
+      "description":"",
+      "private": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "model-ver",
+      "label": "org.onap.relationships.inventory.IsA",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "!${direction}",
+      "private": "true"
+    }
+  ]
+}
diff --git a/aai-schema-gen/src/test/resources/dbedgerules/DbEdgeRules_TraversalQueryTest.json b/aai-schema-gen/src/test/resources/dbedgerules/DbEdgeRules_TraversalQueryTest.json
new file mode 100644 (file)
index 0000000..1534548
--- /dev/null
@@ -0,0 +1,156 @@
+{
+       "rules": [
+               {
+                       "from": "generic-vnf",
+                       "to": "vnfc",
+                       "label": "uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "vnfc",
+                       "to": "generic-vnf",
+                       "label": "re-uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "vce",
+                       "to": "vnfc",
+                       "label": "vce-vnfc",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "pserver",
+                       "to": "vce",
+                       "label": "pserver-vce",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "pserver",
+                       "label": "generic-vnf-pserver-A",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "pserver",
+                       "label": "generic-vnf-pserver-B",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "complex",
+                       "to": "generic-vnf",
+                       "label": "complex-generic-vnf-A",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "complex",
+                       "to": "generic-vnf",
+                       "label": "complex-generic-vnf-B",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "logical-link",
+                       "label": "usesLogicalLink",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "logical-link",
+                       "label": "sourceLInterface",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "logical-link",
+                       "label": "targetLInterface",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description": "Hard to describe"
+               },      
+               {
+                       "from": "pserver",
+                       "to": "vnfc",
+                       "label": "uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "p-interface",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               }
+       ]
+}
diff --git a/aai-schema-gen/src/test/resources/dbedgerules/DbEdgeRules_test.json b/aai-schema-gen/src/test/resources/dbedgerules/DbEdgeRules_test.json
new file mode 100644 (file)
index 0000000..b07e778
--- /dev/null
@@ -0,0 +1,251 @@
+{
+       "rules": [
+               {
+                       "from": "foo",
+                       "to": "bar",
+                       "label": "eats",
+                       "direction": "OUT",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "foo",
+                       "to": "bar",
+                       "label": "eatz",
+                       "direction": "IN",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "foo",
+                       "to": "baz",
+                       "label": "isVeryHappyAbout",
+                       "direction": "OUT",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "quux",
+                       "to": "foo",
+                       "label": "dancesWith",
+                       "direction": "IN",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "test-parent",
+                       "to": "test-child",
+                       "label": "has",
+                       "direction": "OUT",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "test-cousin",
+                       "to": "test-child",
+                       "label": "annoys",
+                       "direction": "OUT",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "test-child",
+                       "to": "test-grandchild",
+                       "label": "has",
+                       "direction": "OUT",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "test-private-cousin",
+                       "to": "test-child",
+                       "label": "someprivatelabel",
+                       "direction": "OUT",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "a",
+                       "to": "b",
+                       "label": "c",
+                       "direction": "OUT",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "a",
+                       "to": "b",
+                       "label": "d",
+                       "direction": "IN",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default" : "true",
+                       "description": "Hard to describe"
+               },
+                               {
+                       "from": "z",
+                       "to": "y",
+                       "label": "x",
+                       "direction": "OUT",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "y",
+                       "to": "z",
+                       "label": "w",
+                       "direction": "IN",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default" : "true",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vnfc",
+                       "label": "uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vnfc",
+                       "label": "re-uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vnfc",
+                       "label": "over-uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe",
+                       "prevent-delete": "NONE"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "logical-link",
+                       "label": "usesLogicalLink",
+                       "direction": "OUT",
+                       "multiplicity": "Many2Many",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "l-interface",
+                       "label": "hasLInterface",
+                       "direction": "OUT",
+                       "multiplicity": "Many2Many",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE"
+               },
+               {
+                       "from": "test-node1",
+                       "to": "test-node2",
+                       "label": "hasInterface",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "description": "test",
+                       "prevent-delete": "NONE",
+                       "private": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "model-ver",
+                       "label": "hasVnf",
+                       "direction": "IN",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "description": "test",
+                       "prevent-delete": "NONE",
+                       "private": "true"
+               },
+               {
+                       "from": "type-r",
+                       "to": "type-r",
+                       "label": "l",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "description": "test",
+                       "prevent-delete": "NONE"
+               },
+               {
+                       "from": "type-r",
+                       "to": "type-s",
+                       "label": "m",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "description": "test",
+                       "prevent-delete": "NONE"
+               },
+       {
+         "from": "l-interface",
+         "to": "l-interface",
+         "label": "org.onap.relationships.inventory.IsA",
+         "direction": "IN",
+         "multiplicity": "ONE2ONE",
+         "contains-other-v": "NONE",
+         "delete-other-v": "NONE",
+         "SVC-INFRA": "NONE",
+         "prevent-delete": "!${direction}"
+       }
+       ]
+}
\ No newline at end of file
diff --git a/aai-schema-gen/src/test/resources/dbedgerules/DbEdgeRules_test_broken.json b/aai-schema-gen/src/test/resources/dbedgerules/DbEdgeRules_test_broken.json
new file mode 100644 (file)
index 0000000..7258a8c
--- /dev/null
@@ -0,0 +1,36 @@
+{
+       "rules": [
+               {
+                       "from": "foo",
+                       "to": "bar",
+                       "label": "eats",
+                       "direction": "OUT",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "foo",
+                       "to": "baz",
+                       "label": "isVeryHappyAbout",
+                       "direction": "OUT",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "quux",
+                       "to": "foo",
+                       "label": "dancesWith",
+                       "direction": "IN",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               }
+       ]
+}
\ No newline at end of file
diff --git a/aai-schema-gen/src/test/resources/dbedgerules/DbEdgerules_four.json b/aai-schema-gen/src/test/resources/dbedgerules/DbEdgerules_four.json
new file mode 100644 (file)
index 0000000..e2abdbc
--- /dev/null
@@ -0,0 +1,1808 @@
+{
+  "rules": [
+    {
+      "from": "allotted-resource",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.PartOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "allotted-resource",
+      "to": "instance-group",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "allotted-resource",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.PartOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "allotted-resource",
+      "to": "network-policy",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "allotted-resource",
+      "to": "vlan",
+      "label": "org.onap.relationships.inventory.PartOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "tunnel-xconnect",
+      "to": "allotted-resource",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "availability-zone",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "availability-zone",
+      "to": "service-capability",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "availability-zone",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "cloud-region",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "cloud-region",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "cloud-region",
+      "to": "zone",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "dvs-switch",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "flavor",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "group-assignment",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "image",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "oam-network",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "snapshot",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "tenant",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "volume-group",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "complex",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "ctag-pool",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "connector",
+      "to": "virtual-data-center",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "metadatum",
+      "to": "connector",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "element-choice-set",
+      "to": "constrained-element-set",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "ctag-pool",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "service-subscription",
+      "to": "customer",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "dvs-switch",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "model-element",
+      "to": "element-choice-set",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "entitlement",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "instance-group",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "ipsec-configuration",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "pserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vnfc",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "vnf-image",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "volume-group",
+      "label": "org.onap.relationships.inventory.DependsOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "vserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "license",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "network-profile",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "site-pair-set",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "pserver",
+      "to": "group-assignment",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "${direction}",
+      "default": "true"
+    },
+    {
+      "from": "tenant",
+      "to": "group-assignment",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "metadatum",
+      "to": "image",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "instance-group",
+      "to": "model",
+      "label": "org.onap.relationships.inventory.Targets",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vig-server",
+      "to": "ipsec-configuration",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv4-address-list",
+      "to": "instance-group",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv4-address-list",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv4-address-list",
+      "to": "subnet",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv6-address-list",
+      "to": "instance-group",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv6-address-list",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv6-address-list",
+      "to": "subnet",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "ctag-assignment",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-network",
+      "to": "network-policy",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-network",
+      "to": "route-table-reference",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-network",
+      "to": "vpn-binding",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "segmentation-assignment",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "subnet",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "lag-link",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "logical-link",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "p-interface",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "lag-interface",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv4-address-list",
+      "to": "l-interface",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv6-address-list",
+      "to": "l-interface",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "instance-group",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "l-interface",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "logical-link",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "sriov-vf",
+      "to": "l-interface",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vlan",
+      "to": "l-interface",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BridgedTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "lag-link",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "logical-link",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "pnf",
+      "label": "org.onap.relationships.inventory.BridgedTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "pserver",
+      "label": "org.onap.relationships.inventory.BridgedTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "vpn-binding",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "model-ver",
+      "to": "model",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "constrained-element-set",
+      "to": "model-constraint",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "constrained-element-set",
+      "to": "model-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "model-constraint",
+      "to": "model-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "model-element",
+      "to": "model-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "model-element",
+      "to": "model-ver",
+      "label": "org.onap.relationships.inventory.IsA",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "model-element",
+      "to": "model-ver",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "named-query",
+      "to": "model",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "named-query-element",
+      "to": "named-query",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "named-query-element",
+      "to": "model",
+      "label": "org.onap.relationships.inventory.IsA",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "named-query-element",
+      "to": "named-query-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "property-constraint",
+      "to": "named-query-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "related-lookup",
+      "to": "named-query-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "newvce",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "oam-network",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "oam-network",
+      "to": "service-capability",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "p-interface",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "logical-link",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "physical-link",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "pnf",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "pnf",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "pnf",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "pnf",
+      "to": "instance-group",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "pnf",
+      "to": "zone",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "cvlan-tag",
+      "to": "port-group",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "pserver",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "pserver",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "pserver",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "pserver",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "pserver",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "pserver",
+      "to": "zone",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "site-pair",
+      "to": "routing-instance",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "allotted-resource",
+      "to": "service-instance",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "metadatum",
+      "to": "service-instance",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "allotted-resource",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "connector",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "ctag-assignment",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "cvlan-tag",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "instance-group",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "logical-link",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "pnf",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "service-instance",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "vlan",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "service-subscription",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "class-of-service",
+      "to": "site-pair",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "routing-instance",
+      "to": "site-pair-set",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-subscription",
+      "to": "tenant",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "tenant",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "tenant",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "entitlement",
+      "to": "vce",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "license",
+      "to": "vce",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "port-group",
+      "to": "vce",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "vce",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vce",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vce",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vce",
+      "to": "vserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.DependsOn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "vnfc",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "volume-group",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "virtual-data-center",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "virtual-data-center",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv4-address-list",
+      "to": "vlan",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv6-address-list",
+      "to": "vlan",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vlan",
+      "to": "logical-link",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vlan",
+      "to": "multicast-configuration",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "tenant",
+      "to": "volume-group",
+      "label": "org.onap.relationships.inventory.DependsOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "volume-group",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "vpls-pe",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "vpls-pe",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vpls-pe",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vpls-pe",
+      "to": "ctag-pool",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "route-target",
+      "to": "vpn-binding",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "vserver",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "vserver",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vnfc",
+      "to": "vserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "flavor",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "image",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "pserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "snapshot",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "volume",
+      "label": "tosca.relationships.AttachesTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "${direction}",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "metadatum",
+      "to": "model-ver",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "zone",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/aai-schema-gen/src/test/resources/dbedgerules/DbEdgerules_one.json b/aai-schema-gen/src/test/resources/dbedgerules/DbEdgerules_one.json
new file mode 100644 (file)
index 0000000..a0fc60a
--- /dev/null
@@ -0,0 +1,1313 @@
+{
+  "rules": [
+    {
+      "from": "availability-zone",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "availability-zone",
+      "to": "service-capability",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "availability-zone",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "cloud-region",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "cloud-region",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "dvs-switch",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "flavor",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "image",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "oam-network",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "tenant",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "volume-group",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "complex",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "ctag-pool",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "connector",
+      "to": "virtual-data-center",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "metadatum",
+      "to": "connector",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "element-choice-set",
+      "to": "constrained-element-set",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "ctag-pool",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "service-subscription",
+      "to": "customer",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "dvs-switch",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "model-element",
+      "to": "element-choice-set",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "ipsec-configuration",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "pserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "vnf-image",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "volume-group",
+      "label": "org.onap.relationships.inventory.DependsOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "vserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "network-profile",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "site-pair-set",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "metadatum",
+      "to": "image",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vig-server",
+      "to": "ipsec-configuration",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv4-address-list",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv4-address-list",
+      "to": "subnet",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv6-address-list",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv6-address-list",
+      "to": "subnet",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "ctag-assignment",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-network",
+      "to": "network-policy",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-network",
+      "to": "vpn-binding",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "subnet",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "lag-link",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "p-interface",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "lag-interface",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv4-address-list",
+      "to": "l-interface",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv6-address-list",
+      "to": "l-interface",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "logical-link",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "sriov-vf",
+      "to": "l-interface",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vlan",
+      "to": "l-interface",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BridgedTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "lag-link",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "pserver",
+      "label": "org.onap.relationships.inventory.BridgedTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "constrained-element-set",
+      "to": "model-constraint",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "constrained-element-set",
+      "to": "model-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "model-constraint",
+      "to": "model-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "model-element",
+      "to": "model-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "named-query",
+      "to": "model",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "named-query-element",
+      "to": "named-query",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "named-query-element",
+      "to": "model",
+      "label": "org.onap.relationships.inventory.IsA",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "named-query-element",
+      "to": "named-query-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "property-constraint",
+      "to": "named-query-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "related-lookup",
+      "to": "named-query-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "newvce",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "oam-network",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "oam-network",
+      "to": "service-capability",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "p-interface",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "logical-link",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "physical-link",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "pnf",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "pnf",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "cvlan-tag",
+      "to": "port-group",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "pserver",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "pserver",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "pserver",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "pserver",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "pserver",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "site-pair",
+      "to": "routing-instance",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "metadatum",
+      "to": "service-instance",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "connector",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "cvlan-tag",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "logical-link",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "service-subscription",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "class-of-service",
+      "to": "site-pair",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "routing-instance",
+      "to": "site-pair-set",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-subscription",
+      "to": "tenant",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "tenant",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "tenant",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "port-group",
+      "to": "vce",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "vce",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vce",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vce",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vce",
+      "to": "vserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.DependsOn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "volume-group",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "virtual-data-center",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "virtual-data-center",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv4-address-list",
+      "to": "vlan",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv6-address-list",
+      "to": "vlan",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vlan",
+      "to": "logical-link",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vlan",
+      "to": "multicast-configuration",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "tenant",
+      "to": "volume-group",
+      "label": "org.onap.relationships.inventory.DependsOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "volume-group",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "vpls-pe",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "vpls-pe",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vpls-pe",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vpls-pe",
+      "to": "ctag-pool",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "vserver",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "vserver",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vnfc",
+      "to": "vserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "flavor",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "image",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "pserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "model-element",
+      "to": "model",
+      "label": "isA",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "model",
+      "to": "model-element",
+      "label": "startsWith",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "${direction}",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "metadatum",
+      "to": "model",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "volume",
+      "label": "tosca.relationships.AttachesTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "${direction}",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/aai-schema-gen/src/test/resources/dbedgerules/DbEdgerules_three.json b/aai-schema-gen/src/test/resources/dbedgerules/DbEdgerules_three.json
new file mode 100644 (file)
index 0000000..508d8a2
--- /dev/null
@@ -0,0 +1,1731 @@
+{
+  "rules": [
+    {
+      "from": "allotted-resource",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.PartOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "allotted-resource",
+      "to": "instance-group",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "allotted-resource",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.PartOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "allotted-resource",
+      "to": "vlan",
+      "label": "org.onap.relationships.inventory.PartOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "tunnel-xconnect",
+      "to": "allotted-resource",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "availability-zone",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "availability-zone",
+      "to": "service-capability",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "availability-zone",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "cloud-region",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "cloud-region",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "cloud-region",
+      "to": "zone",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "dvs-switch",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "flavor",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "group-assignment",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "image",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "oam-network",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "snapshot",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "tenant",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "volume-group",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "complex",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "ctag-pool",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "connector",
+      "to": "virtual-data-center",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "metadatum",
+      "to": "connector",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "element-choice-set",
+      "to": "constrained-element-set",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "ctag-pool",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "service-subscription",
+      "to": "customer",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "dvs-switch",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "model-element",
+      "to": "element-choice-set",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "entitlement",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "instance-group",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "ipsec-configuration",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "pserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vnfc",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "vnf-image",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "volume-group",
+      "label": "org.onap.relationships.inventory.DependsOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "vserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "license",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "network-profile",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "site-pair-set",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "pserver",
+      "to": "group-assignment",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "${direction}",
+      "default": "true"
+    },
+    {
+      "from": "tenant",
+      "to": "group-assignment",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "metadatum",
+      "to": "image",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "instance-group",
+      "to": "model",
+      "label": "org.onap.relationships.inventory.Targets",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vig-server",
+      "to": "ipsec-configuration",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv4-address-list",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv4-address-list",
+      "to": "subnet",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv6-address-list",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv6-address-list",
+      "to": "subnet",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "ctag-assignment",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-network",
+      "to": "network-policy",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-network",
+      "to": "route-table-reference",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-network",
+      "to": "vpn-binding",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "segmentation-assignment",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "subnet",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "lag-link",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "p-interface",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "lag-interface",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv4-address-list",
+      "to": "l-interface",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv6-address-list",
+      "to": "l-interface",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "logical-link",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "sriov-vf",
+      "to": "l-interface",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vlan",
+      "to": "l-interface",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BridgedTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "lag-link",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "logical-link",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "pnf",
+      "label": "org.onap.relationships.inventory.BridgedTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "pserver",
+      "label": "org.onap.relationships.inventory.BridgedTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "vpn-binding",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "model-ver",
+      "to": "model",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "constrained-element-set",
+      "to": "model-constraint",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "constrained-element-set",
+      "to": "model-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "model-constraint",
+      "to": "model-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "model-element",
+      "to": "model-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "model-element",
+      "to": "model-ver",
+      "label": "org.onap.relationships.inventory.IsA",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "model-element",
+      "to": "model-ver",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "named-query",
+      "to": "model",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "named-query-element",
+      "to": "named-query",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "named-query-element",
+      "to": "model",
+      "label": "org.onap.relationships.inventory.IsA",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "named-query-element",
+      "to": "named-query-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "property-constraint",
+      "to": "named-query-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "related-lookup",
+      "to": "named-query-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "newvce",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "oam-network",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "oam-network",
+      "to": "service-capability",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "p-interface",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "logical-link",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "physical-link",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "pnf",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "pnf",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "pnf",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "pnf",
+      "to": "instance-group",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "pnf",
+      "to": "zone",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "cvlan-tag",
+      "to": "port-group",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "pserver",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "pserver",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "pserver",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "pserver",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "pserver",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "pserver",
+      "to": "zone",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "site-pair",
+      "to": "routing-instance",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "allotted-resource",
+      "to": "service-instance",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "metadatum",
+      "to": "service-instance",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "allotted-resource",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "connector",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "ctag-assignment",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "cvlan-tag",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "instance-group",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "logical-link",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "pnf",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "service-instance",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "vlan",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "service-subscription",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "class-of-service",
+      "to": "site-pair",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "routing-instance",
+      "to": "site-pair-set",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-subscription",
+      "to": "tenant",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "tenant",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "tenant",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "entitlement",
+      "to": "vce",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "license",
+      "to": "vce",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "port-group",
+      "to": "vce",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "vce",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vce",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vce",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vce",
+      "to": "vserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.DependsOn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "vnfc",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "volume-group",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "virtual-data-center",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "virtual-data-center",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv4-address-list",
+      "to": "vlan",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv6-address-list",
+      "to": "vlan",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vlan",
+      "to": "logical-link",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vlan",
+      "to": "multicast-configuration",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "tenant",
+      "to": "volume-group",
+      "label": "org.onap.relationships.inventory.DependsOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "volume-group",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "vpls-pe",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "vpls-pe",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vpls-pe",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vpls-pe",
+      "to": "ctag-pool",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "vserver",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "vserver",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vnfc",
+      "to": "vserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "flavor",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "image",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "pserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "snapshot",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "volume",
+      "label": "tosca.relationships.AttachesTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "${direction}",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "metadatum",
+      "to": "model-ver",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "zone",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/aai-schema-gen/src/test/resources/dbedgerules/DbEdgerules_two.json b/aai-schema-gen/src/test/resources/dbedgerules/DbEdgerules_two.json
new file mode 100644 (file)
index 0000000..afc7e91
--- /dev/null
@@ -0,0 +1,1467 @@
+{
+  "rules": [
+    {
+      "from": "availability-zone",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "availability-zone",
+      "to": "service-capability",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "availability-zone",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "cloud-region",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "cloud-region",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "dvs-switch",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "flavor",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "group-assignment",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "image",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "oam-network",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "snapshot",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "tenant",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "volume-group",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "complex",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "ctag-pool",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "connector",
+      "to": "virtual-data-center",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "metadatum",
+      "to": "connector",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "element-choice-set",
+      "to": "constrained-element-set",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "ctag-pool",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "service-subscription",
+      "to": "customer",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "dvs-switch",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "model-element",
+      "to": "element-choice-set",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "ipsec-configuration",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "pserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vnfc",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "vnf-image",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "volume-group",
+      "label": "org.onap.relationships.inventory.DependsOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "vserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "network-profile",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "site-pair-set",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "pserver",
+      "to": "group-assignment",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "${direction}",
+      "default": "true"
+    },
+    {
+      "from": "tenant",
+      "to": "group-assignment",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "metadatum",
+      "to": "image",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vig-server",
+      "to": "ipsec-configuration",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv4-address-list",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv4-address-list",
+      "to": "subnet",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv6-address-list",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv6-address-list",
+      "to": "subnet",
+      "label": "org.onap.relationships.inventory.network.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "ctag-assignment",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-network",
+      "to": "network-policy",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-network",
+      "to": "route-table-reference",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-network",
+      "to": "vpn-binding",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "segmentation-assignment",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "subnet",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "lag-link",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "p-interface",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "lag-interface",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv4-address-list",
+      "to": "l-interface",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv6-address-list",
+      "to": "l-interface",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "logical-link",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "sriov-vf",
+      "to": "l-interface",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vlan",
+      "to": "l-interface",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "generic-vnf",
+      "label": "org.onap.relationships.inventory.BridgedTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "lag-link",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "logical-link",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "pnf",
+      "label": "org.onap.relationships.inventory.BridgedTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "pserver",
+      "label": "org.onap.relationships.inventory.BridgedTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "constrained-element-set",
+      "to": "model-constraint",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "constrained-element-set",
+      "to": "model-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "model-constraint",
+      "to": "model-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "model-element",
+      "to": "model-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "named-query",
+      "to": "model",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "named-query-element",
+      "to": "named-query",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "named-query-element",
+      "to": "model",
+      "label": "org.onap.relationships.inventory.IsA",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "named-query-element",
+      "to": "named-query-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "property-constraint",
+      "to": "named-query-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "related-lookup",
+      "to": "named-query-element",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "newvce",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "oam-network",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "oam-network",
+      "to": "service-capability",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "p-interface",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "logical-link",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "physical-link",
+      "label": "tosca.relationships.network.LinksTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "pnf",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "pnf",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "pnf",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "cvlan-tag",
+      "to": "port-group",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "pserver",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "pserver",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "pserver",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.MemberOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "pserver",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "pserver",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "site-pair",
+      "to": "routing-instance",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "metadatum",
+      "to": "service-instance",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "connector",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "cvlan-tag",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "logical-link",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "service-instance",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "vlan",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "service-subscription",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "class-of-service",
+      "to": "site-pair",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "routing-instance",
+      "to": "site-pair-set",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-subscription",
+      "to": "tenant",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "tenant",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "tenant",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "port-group",
+      "to": "vce",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "service-instance",
+      "to": "vce",
+      "label": "org.onap.relationships.inventory.ComposedOf",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vce",
+      "to": "availability-zone",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vce",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vce",
+      "to": "vserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "l3-network",
+      "label": "org.onap.relationships.inventory.DependsOn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "vnfc",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "volume-group",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "generic-vnf",
+      "to": "virtual-data-center",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "logical-link",
+      "to": "virtual-data-center",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv4-address-list",
+      "to": "vlan",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l3-interface-ipv6-address-list",
+      "to": "vlan",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vlan",
+      "to": "logical-link",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vlan",
+      "to": "multicast-configuration",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "tenant",
+      "to": "volume-group",
+      "label": "org.onap.relationships.inventory.DependsOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "volume-group",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "lag-interface",
+      "to": "vpls-pe",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "p-interface",
+      "to": "vpls-pe",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vpls-pe",
+      "to": "complex",
+      "label": "org.onap.relationships.inventory.LocatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vpls-pe",
+      "to": "ctag-pool",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "l-interface",
+      "to": "vserver",
+      "label": "tosca.relationships.network.BindsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vf-module",
+      "to": "vserver",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vnfc",
+      "to": "vserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "flavor",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "image",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "model-element",
+      "to": "model",
+      "label": "isA",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "model",
+      "to": "model-element",
+      "label": "startsWith",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "${direction}",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "metadatum",
+      "to": "model",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "pserver",
+      "label": "tosca.relationships.HostedOn",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "snapshot",
+      "label": "org.onap.relationships.inventory.Uses",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "vserver",
+      "to": "volume",
+      "label": "tosca.relationships.AttachesTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "${direction}",
+      "delete-other-v": "${direction}",
+      "prevent-delete": "NONE",
+      "default": "true"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/aai-schema-gen/src/test/resources/dbedgerules/defaultEdgesTest.json b/aai-schema-gen/src/test/resources/dbedgerules/defaultEdgesTest.json
new file mode 100644 (file)
index 0000000..2f4baed
--- /dev/null
@@ -0,0 +1,52 @@
+{
+       "rules": [
+               {
+                       "from": "apple",
+                       "to": "orange",
+                       "label": "sitsBy",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":"for testing pairs with no default"
+               },
+               {
+                       "from": "apple",
+                       "to": "orange",
+                       "label": "makesSaladWith",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":"for testing pairs with no default"
+               },
+               {
+                       "from": "seed",
+                       "to": "plant",
+                       "label": "grows",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "seed",
+                       "to": "plant",
+                       "label": "becomes",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "OUT",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               }
+       ]
+}
\ No newline at end of file
diff --git a/aai-schema-gen/src/test/resources/dbedgerules/test.json b/aai-schema-gen/src/test/resources/dbedgerules/test.json
new file mode 100644 (file)
index 0000000..66691eb
--- /dev/null
@@ -0,0 +1,48 @@
+{
+       "rules": [
+               {
+                       "from": "foo",
+                       "to": "bar",
+                       "label": "eats",
+                       "direction": "OUT",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "foo",
+                       "to": "bar",
+                       "label": "eatz",
+                       "direction": "IN",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "foo",
+                       "to": "baz",
+                       "label": "isVeryHappyAbout",
+                       "direction": "OUT",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "quux",
+                       "to": "foo",
+                       "label": "dancesWith",
+                       "direction": "IN",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               }
+       ]
+}
\ No newline at end of file
diff --git a/aai-schema-gen/src/test/resources/dbedgerules/test2.json b/aai-schema-gen/src/test/resources/dbedgerules/test2.json
new file mode 100644 (file)
index 0000000..7d94e41
--- /dev/null
@@ -0,0 +1,27 @@
+{
+       "rules": [
+               {
+                       "from": "foo",
+                       "to": "dog",
+                       "label": "pets",
+                       "direction": "OUT",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe"
+               },
+               {
+                       "from": "dog",
+                       "to": "puppy",
+                       "label": "caresFor",
+                       "direction": "OUT",
+                       "multiplicity": "One2Many",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "description": "Hard to describe",
+                       "default": "true"
+               }
+       ]
+}
\ No newline at end of file
diff --git a/aai-schema-gen/src/test/resources/dbedgerules/test3.json b/aai-schema-gen/src/test/resources/dbedgerules/test3.json
new file mode 100644 (file)
index 0000000..e34e79f
--- /dev/null
@@ -0,0 +1,76 @@
+{
+       "rules": [
+               {
+                       "from": "l-interface",
+                       "to": "logical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Source",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Destination",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "lag-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "bloop",
+                       "to": "bloop",
+                       "label": "links",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "IN",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": "for testing same type direction flip requirement"
+               }
+       ]
+}
\ No newline at end of file
diff --git a/aai-schema-gen/src/test/resources/oxm/business_oxm_v11.xml b/aai-schema-gen/src/test/resources/oxm/business_oxm_v11.xml
new file mode 100644 (file)
index 0000000..de2d26d
--- /dev/null
@@ -0,0 +1,106 @@
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v11" xml-mapping-metadata-complete="true">
+<xml-schema element-form-default="QUALIFIED">
+<xml-ns namespace-uri="http://org.onap.aai.inventory/v11" />
+</xml-schema>
+<java-types>
+<java-type name="Inventory">
+<xml-root-element name="inventory" />
+<java-attributes>
+<xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v11.Business" />
+</java-attributes>
+</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="customers" name="customers" type="inventory.aai.onap.org.v11.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-properties>
+<xml-root-element name="customers" />
+<java-attributes>
+<xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.onap.org.v11.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 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.onap.org.v11.ServiceSubscriptions" />
+</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.onap.org.v11.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." />
+</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>
+</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-types>
+</xml-bindings>
diff --git a/aai-schema-gen/src/test/resources/oxm/business_oxm_v12.xml b/aai-schema-gen/src/test/resources/oxm/business_oxm_v12.xml
new file mode 100644 (file)
index 0000000..648110c
--- /dev/null
@@ -0,0 +1,609 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+  ============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=========================================================
+  -->
+
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v13" xml-mapping-metadata-complete="true">
+       <xml-schema element-form-default="QUALIFIED">
+               <xml-ns namespace-uri="http://org.onap.aai.inventory/v13" />
+       </xml-schema>
+       <java-types>
+               <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.onap.org.v13.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.onap.org.v13.TunnelXconnects" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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="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.onap.org.v13.Connectors" />
+                               <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v13.Customers" />
+                               <xml-element java-attribute="linesOfBusiness" name="lines-of-business" type="inventory.aai.onap.org.v13.LinesOfBusiness" />
+                               <xml-element java-attribute="owningEntities" name="owning-entities" type="inventory.aai.onap.org.v13.OwningEntities" />
+                               <xml-element java-attribute="platforms" name="platforms" type="inventory.aai.onap.org.v13.Platforms" />
+                               <xml-element java-attribute="projects" name="projects" type="inventory.aai.onap.org.v13.Projects" />
+                       </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.onap.org.v13.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.onap.org.v13.RelationshipList" />
+                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.ServiceSubscriptions" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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="LinesOfBusiness">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of lines-of-business" />
+                       </xml-properties>
+                       <xml-root-element name="lines-of-business" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="lineOfBusiness" name="line-of-business" type="inventory.aai.onap.org.v13.LineOfBusiness" />
+                       </java-attributes>
+               </java-type>    
+               <java-type name="LineOfBusiness">
+                       <xml-root-element name="line-of-business" />
+                       <java-attributes>
+                               <xml-element java-attribute="lineOfBusinessName" name="line-of-business-name" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Name of the line-of-business (product)" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v13.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="describes a line-of-business" />
+                               <xml-property name="indexedProps" value="line-of-business-name" />
+                               <xml-property name="uniqueProps" value="line-of-business-name" />
+                               <xml-property name="container" value="lines-of-business" />
+                               <xml-property name="namespace" value="business" />
+                       </xml-properties>
+               </java-type>            
+               <java-type name="OwningEntities">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of owning-entities" />
+                       </xml-properties>
+                       <xml-root-element name="owning-entities" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="owningEntity" name="owning-entity" type="inventory.aai.onap.org.v13.OwningEntity" />
+                       </java-attributes>
+               </java-type>    
+               <java-type name="OwningEntity">
+                       <xml-root-element name="owning-entity" />
+                       <java-attributes>
+                               <xml-element java-attribute="owningEntityId" name="owning-entity-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="UUID of an owning entity" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="owningEntityName" name="owning-entity-name" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Owning entity name" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v13.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="describes an owning-entity" />
+                               <xml-property name="indexedProps" value="owning-entity-id,owning-entity-name" />
+                               <xml-property name="searchable" value="owning-entity-id" />
+                               <xml-property name="uniqueProps" value="owning-entity-id,owning-entity-name" />
+                               <xml-property name="container" value="owning-entities" />
+                               <xml-property name="namespace" value="business" />
+                       </xml-properties>
+               </java-type>    
+               <java-type name="Platforms">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of platforms" />
+                       </xml-properties>
+                       <xml-root-element name="platforms" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="platform" name="platform" type="inventory.aai.onap.org.v13.Platform" />
+                       </java-attributes>
+               </java-type>            
+               <java-type name="Platform">
+                       <xml-root-element name="platform" />
+                       <java-attributes>
+                               <xml-element java-attribute="platformName" name="platform-name" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Name of the platform" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v13.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="describes a platform" />
+                               <xml-property name="indexedProps" value="platform-name" />
+                               <xml-property name="uniqueProps" value="platform-name" />
+                               <xml-property name="container" value="platforms" />
+                               <xml-property name="namespace" value="business" />
+                       </xml-properties>
+               </java-type>            
+               <java-type name="Projects">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of projects" />
+                       </xml-properties>
+                       <xml-root-element name="projects" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="project" name="project" type="inventory.aai.onap.org.v13.Project" />
+                       </java-attributes>
+               </java-type>
+               <java-type name="Project">
+                       <xml-root-element name="project" />
+                       <java-attributes>
+                               <xml-element java-attribute="projectName" name="project-name" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Name of the project deploying a 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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="describes the project" />
+                               <xml-property name="indexedProps" value="project-name" />
+                               <xml-property name="uniqueProps" value="project-name" />
+                               <xml-property name="container" value="projects" />
+                               <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.onap.org.v13.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.onap.org.v13.ServiceInstances">
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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="serviceType" name="service-type" required="false" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="String capturing type of service." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serviceRole" name="service-role" required="false" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="String capturing the service role." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="environmentContext" name="environment-context" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="This field will store the environment context assigned to the service-instance." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="workloadContext" name="workload-context" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="This field will store the workload context 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.onap.org.v13.RelationshipList" />
+                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v13.Metadata" />
+                               <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.org.v13.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,environment-context,workload-context" />
+                               <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="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.onap.org.v13.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" 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" 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" 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" 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.onap.org.v13.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-types>
+</xml-bindings>
diff --git a/aai-schema-gen/src/test/resources/oxm/business_oxm_v13.xml b/aai-schema-gen/src/test/resources/oxm/business_oxm_v13.xml
new file mode 100644 (file)
index 0000000..3e56c47
--- /dev/null
@@ -0,0 +1,609 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+  ============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=========================================================
+  -->
+
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v13" xml-mapping-metadata-complete="true">
+       <xml-schema element-form-default="QUALIFIED">
+               <xml-ns namespace-uri="http://org.onap.aai.inventory/v13" />
+       </xml-schema>
+       <java-types>
+               <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.onap.org.v13.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.onap.org.v13.TunnelXconnects" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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="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.onap.org.v13.Connectors" />
+                               <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v13.Customers" />
+                               <xml-element java-attribute="linesOfBusiness" name="lines-of-business" type="inventory.aai.onap.org.v13.LinesOfBusiness" />
+                               <xml-element java-attribute="owningEntities" name="owning-entities" type="inventory.aai.onap.org.v13.OwningEntities" />
+                               <xml-element java-attribute="platforms" name="platforms" type="inventory.aai.onap.org.v13.Platforms" />
+                               <xml-element java-attribute="projects" name="projects" type="inventory.aai.onap.org.v13.Projects" />
+                       </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.onap.org.v13.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.onap.org.v13.RelationshipList" />
+                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v13.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.onap.org.v13.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 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.onap.org.v13.ServiceSubscriptions" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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="LinesOfBusiness">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of lines-of-business" />
+                       </xml-properties>
+                       <xml-root-element name="lines-of-business" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="lineOfBusiness" name="line-of-business" type="inventory.aai.onap.org.v13.LineOfBusiness" />
+                       </java-attributes>
+               </java-type>    
+               <java-type name="LineOfBusiness">
+                       <xml-root-element name="line-of-business" />
+                       <java-attributes>
+                               <xml-element java-attribute="lineOfBusinessName" name="line-of-business-name" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Name of the line-of-business (product)" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v13.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="describes a line-of-business" />
+                               <xml-property name="indexedProps" value="line-of-business-name" />
+                               <xml-property name="uniqueProps" value="line-of-business-name" />
+                               <xml-property name="container" value="lines-of-business" />
+                               <xml-property name="namespace" value="business" />
+                       </xml-properties>
+               </java-type>            
+               <java-type name="OwningEntities">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of owning-entities" />
+                       </xml-properties>
+                       <xml-root-element name="owning-entities" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="owningEntity" name="owning-entity" type="inventory.aai.onap.org.v13.OwningEntity" />
+                       </java-attributes>
+               </java-type>    
+               <java-type name="OwningEntity">
+                       <xml-root-element name="owning-entity" />
+                       <java-attributes>
+                               <xml-element java-attribute="owningEntityId" name="owning-entity-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="UUID of an owning entity" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="owningEntityName" name="owning-entity-name" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Owning entity name" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v13.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="describes an owning-entity" />
+                               <xml-property name="indexedProps" value="owning-entity-id,owning-entity-name" />
+                               <xml-property name="searchable" value="owning-entity-id" />
+                               <xml-property name="uniqueProps" value="owning-entity-id,owning-entity-name" />
+                               <xml-property name="container" value="owning-entities" />
+                               <xml-property name="namespace" value="business" />
+                       </xml-properties>
+               </java-type>    
+               <java-type name="Platforms">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of platforms" />
+                       </xml-properties>
+                       <xml-root-element name="platforms" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="platform" name="platform" type="inventory.aai.onap.org.v13.Platform" />
+                       </java-attributes>
+               </java-type>            
+               <java-type name="Platform">
+                       <xml-root-element name="platform" />
+                       <java-attributes>
+                               <xml-element java-attribute="platformName" name="platform-name" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Name of the platform" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v13.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="describes a platform" />
+                               <xml-property name="indexedProps" value="platform-name" />
+                               <xml-property name="uniqueProps" value="platform-name" />
+                               <xml-property name="container" value="platforms" />
+                               <xml-property name="namespace" value="business" />
+                       </xml-properties>
+               </java-type>            
+               <java-type name="Projects">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of projects" />
+                       </xml-properties>
+                       <xml-root-element name="projects" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="project" name="project" type="inventory.aai.onap.org.v13.Project" />
+                       </java-attributes>
+               </java-type>
+               <java-type name="Project">
+                       <xml-root-element name="project" />
+                       <java-attributes>
+                               <xml-element java-attribute="projectName" name="project-name" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Name of the project deploying a 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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="describes the project" />
+                               <xml-property name="indexedProps" value="project-name" />
+                               <xml-property name="uniqueProps" value="project-name" />
+                               <xml-property name="container" value="projects" />
+                               <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.onap.org.v13.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." />
+                                       </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.onap.org.v13.ServiceInstances">
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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="serviceType" name="service-type" required="false" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="String capturing type of service." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serviceRole" name="service-role" required="false" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="String capturing the service role." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="environmentContext" name="environment-context" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="This field will store the environment context assigned to the service-instance." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="workloadContext" name="workload-context" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="This field will store the workload context 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.onap.org.v13.RelationshipList" />
+                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v13.Metadata" />
+                               <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.org.v13.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,environment-context,workload-context" />
+                               <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="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.onap.org.v13.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" 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" 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" 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" 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.onap.org.v13.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-types>
+</xml-bindings>
diff --git a/aai-schema-gen/src/test/resources/oxm/business_v11.xml b/aai-schema-gen/src/test/resources/oxm/business_v11.xml
new file mode 100644 (file)
index 0000000..de2d26d
--- /dev/null
@@ -0,0 +1,106 @@
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v11" xml-mapping-metadata-complete="true">
+<xml-schema element-form-default="QUALIFIED">
+<xml-ns namespace-uri="http://org.onap.aai.inventory/v11" />
+</xml-schema>
+<java-types>
+<java-type name="Inventory">
+<xml-root-element name="inventory" />
+<java-attributes>
+<xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v11.Business" />
+</java-attributes>
+</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="customers" name="customers" type="inventory.aai.onap.org.v11.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-properties>
+<xml-root-element name="customers" />
+<java-attributes>
+<xml-element container-type="java.util.ArrayList" java-attribute="customer" name="customer" type="inventory.aai.onap.org.v11.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 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.onap.org.v11.ServiceSubscriptions" />
+</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.onap.org.v11.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." />
+</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>
+</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-types>
+</xml-bindings>
diff --git a/aai-schema-gen/src/test/resources/oxm/common_oxm_v13.xml b/aai-schema-gen/src/test/resources/oxm/common_oxm_v13.xml
new file mode 100644 (file)
index 0000000..18f150b
--- /dev/null
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+  ============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=========================================================
+  -->
+
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v13" xml-mapping-metadata-complete="true">
+       <xml-schema element-form-default="QUALIFIED">
+               <xml-ns namespace-uri="http://org.onap.aai.inventory/v13" />
+       </xml-schema>
+       <java-types>
+               <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.onap.org.v13.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="relationshipLabel" name="relationship-label" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="The edge label for this relationship." />
+                                       </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.onap.org.v13.RelationshipData" />
+                               <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v13.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="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.onap.org.v13.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="Collections">
+                       <xml-root-element name="collections" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="collection" name="collection" type="inventory.aai.onap.org.v13.Collection" />
+                       </java-attributes>
+               </java-type>
+               <java-type name="Collection">
+                       <xml-root-element name="collection"/>
+                       <java-attributes>
+                               <xml-element java-attribute="collectionId" name="collection-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Collection Object UUID"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="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="Model Version" />
+                                               <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="collectionName" name="collection-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="collection name" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="collectionType" name="collection-type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Collection type" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="collectionRole" name="collection-role" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Collection Role" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="collectionFunction" name="collection-function" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Collection function" />
+                                       </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="collectionCustomizationId" name="collection-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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-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="namespace" value="network" />
+                               <xml-property name="description" value="represents the collection resource in the TOSCA model" />
+                               <xml-property name="uniqueProps" value="collection-id" />
+                               <xml-property name="indexedProps" value="collection-id,model-invariant-id,model-version-id" />
+                               <xml-property name="container" value="collections" />
+                       </xml-properties>
+               </java-type>
+       </java-types>
+</xml-bindings>
diff --git a/aai-schema-gen/src/test/resources/oxm/dbalias_oxm_four.xml b/aai-schema-gen/src/test/resources/oxm/dbalias_oxm_four.xml
new file mode 100644 (file)
index 0000000..b2a215a
--- /dev/null
@@ -0,0 +1,5514 @@
+<!--
+  ============LICENSE_START=======================================================
+  org.onap.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=========================================================
+  -->
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v4" xml-mapping-metadata-complete="true">
+<xml-schema element-form-default="QUALIFIED">
+    <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v4"/>
+</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.onap.org.v4.Search"/>
+            <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v4.Actions"/>
+            <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v4.CloudInfrastructure"/>
+            <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v4.Business"/>
+            <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v4.ServiceDesignAndCreation"/>
+            <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v4.Network"/>
+            <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v4.AaiInternal"/>
+            <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.onap.org.v4.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.onap.org.v4.EdgeTagQueryResult"/>
+            <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v4.EdgeTagQueryRequest"/>
+            <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v4.SearchResults"/>
+            <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v4.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.onap.org.v4.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.onap.org.v4.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.onap.org.v4.InventoryItemData"/>
+            <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v4.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.onap.org.v4.StartNodeFilter"/>
+            <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v4.IncludeNodeFilter"/>
+            <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v4.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.onap.org.v4.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.onap.org.v4.OamNetworks"/>
+            <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v4.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.onap.org.v4.DvsSwitches"/>
+            <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v4.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.onap.org.v4.Update"/>
+            <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v4.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.onap.org.v4.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.onap.org.v4.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.onap.org.v4.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.onap.org.v4.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.onap.org.v4.Complexes"/>
+            <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v4.CloudRegions"/>
+            <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v4.NetworkProfiles"/>
+            <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v4.Pservers"/>
+            <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v4.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.onap.org.v4.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, e.g., att-aic. 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.onap.org.v4.VolumeGroups"/>
+            <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v4.Tenants"/>
+            <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v4.Flavors"/>
+            <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v4.GroupAssignments"/>
+            <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v4.Snapshots"/>
+            <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v4.Images"/>
+            <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v4.DvsSwitches"/>
+            <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v4.OamNetworks"/>
+            <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v4.AvailabilityZones"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+        </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.onap.org.v4.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" 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.onap.org.v4.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-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.RelationshipData"/>
+            <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v4.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.onap.org.v4.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.onap.org.v4.CtagPools"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+        </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.onap.org.v4.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.onap.org.v4.Vservers"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+        </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.onap.org.v4.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" 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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v4.Volumes"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+            <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.Vlans"/>
+            <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v4.SriovVfs"/>
+            <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v4.LInterfaces"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.RelationshipList"/>
+            <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v4.L3InterfaceIpv4AddressList"/>
+            <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v4.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,p-interface,vserver,lag-interface,l-interface"/>
+            <xml-property name="container" value="l-interfaces"/>
+            <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+        </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.onap.org.v4.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-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+        </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.onap.org.v4.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="vpnKey" name="vpn-key" type="java.lang.String">
+                <xml-properties>
+                    <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan"/>
+                </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.onap.org.v4.RelationshipList"/>
+            <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v4.L3InterfaceIpv4AddressList"/>
+            <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v4.L3InterfaceIpv6AddressList"/>
+        </java-attributes>
+        <xml-properties>
+            <xml-property name="description" value="Definition of vlan"/>
+            <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key"/>
+            <xml-property name="dependentOn" value="l-interface"/>
+            <xml-property name="container" value="vlans"/>
+            <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+        </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.onap.org.v4.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-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.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="searchable" value="group-id,group-name"/>
+            <xml-property name="dependentOn" value="cloud-region"/>
+            <xml-property name="container" value="group-assignments"/>
+            <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.RelationshipList"/>
+            <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/images/image/{image-id}"/>
+        </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.onap.org.v4.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-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+        </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 GenericVnfs."/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+        </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.onap.org.v4.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" 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). 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.onap.org.v4.RelationshipList"/>
+            <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v4.PInterfaces"/>
+            <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v4.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="uniqueProps" value="hostname"/>
+            <xml-property name="container" value="pservers"/>
+            <xml-property name="namespace" value="cloud-infrastructure"/>
+            <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+        </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.onap.org.v4.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.onap.org.v4.RelationshipList"/>
+            <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+        </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.onap.org.v4.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.onap.org.v4.RelationshipList"/>
+            <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v4.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,vpls-pe,pnf"/>
+            <xml-property name="container" value="lag-interfaces"/>
+            <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+        </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.onap.org.v4.Connectors"/>
+            <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v4.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.onap.org.v4.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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                </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.onap.org.v4.RelationshipList"/>
+            <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.ServiceSubscriptions"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.ServiceInstances">
+            </xml-element>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/service-subscriptions/service-subscription/{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.onap.org.v4.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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                </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.onap.org.v4.RelationshipList"/>
+            <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v4.Metadata"/>
+            <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+        </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.onap.org.v4.VnfImages"/>
+            <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v4.Services"/>
+            <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v4.ServiceCapabilities"/>
+            <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v4.Models"/>
+            <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v4.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.onap.org.v4.VnfImage"/>
+        </java-attributes>
+    </java-type>
+
+    <java-type name="VnfImage">
+        <xml-root-element name="vnf-image"/>
+        <java-attributes>
+            <xml-element java-attribute="attUuid" name="att-uuid" required="true" type="java.lang.String" xml-key="true">
+                <xml-properties>
+                    <xml-property name="description" value="Unique ID of this asset"/>
+                    <xml-property name="dbAlias" value="vnf-image-uuid"/>
+                </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.onap.org.v4.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,att-uuid,application-vendor,application-version"/>
+            <xml-property name="uniqueProps" value="att-uuid"/>
+            <xml-property name="container" value="vnf-images"/>
+            <xml-property name="namespace" value="service-design-and-creation"/>
+            <xml-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{att-uuid}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+        </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.onap.org.v4.LogicalLinks"/>
+            <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v4.SitePairSets"/>
+            <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v4.VpnBindings"/>
+            <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v4.VplsPes"/>
+            <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v4.MulticastConfigurations"/>
+            <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v4.Vces"/>
+            <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v4.Vnfcs"/>
+            <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v4.L3Networks"/>
+            <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v4.NetworkPolicies"/>
+            <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v4.GenericVnfs"/>
+            <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v4.LagLinks"/>
+            <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v4.Newvces"/>
+            <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v4.Pnfs"/>
+            <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v4.PhysicalLinks"/>
+            <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v4.IpsecConfigurations"/>
+            <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v4.RouteTableReferences"/>
+            <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v4.InstanceGroups"/>
+            <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.org.v4.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.onap.org.v4.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 (should be att-ip-version)"/>
+                </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                </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.onap.org.v4.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-property name="uriTemplate" value="/network/logical-links/logical-link/{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.onap.org.v4.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.onap.org.v4.RoutingInstances"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.SitePairs"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+        </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.onap.org.v4.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, UCPE, 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.onap.org.v4.ClassesOfService"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+        </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.onap.org.v4.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.onap.org.v4.RouteTargets"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+        </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.onap.org.v4.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.org.v4.RelationshipList"/>
+            <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v4.PInterfaces"/>
+            <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.PortGroups"/>
+            <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v4.Licenses"/>
+            <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v4.Entitlements"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.CvlanTags"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag-cvlan-tag}"/>
+        </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.onap.org.v4.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-property name="dbAlias" value="nfc-naming-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-property name="dbAlias" value="nfc-function"/>
+                </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" 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 default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v4.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-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+        </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.onap.org.v4.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" 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" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                </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.onap.org.v4.Subnets"/>
+            <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v4.CtagAssignments"/>
+            <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v4.SegmentationAssignments"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+        </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.onap.org.v4.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" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" 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.onap.org.v4.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-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+        </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.onap.org.v4.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" 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 ATT 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 by uCPE"/>
+                </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 by uCPE"/>
+                </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 by uCPE"/>
+                </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 by uCPE"/>
+                </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 uCPE"/>
+                </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 by uCPE"/>
+                </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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                </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.onap.org.v4.RelationshipList"/>
+            <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v4.LInterfaces"/>
+            <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v4.LagInterfaces"/>
+            <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v4.VfModules"/>
+            <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v4.Licenses"/>
+            <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+        </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.onap.org.v4.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" java-attribute="isBaseVfModule" name="is-base-vf-module" 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 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                </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.onap.org.v4.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-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+        </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.onap.org.v4.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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."/>
+                </xml-properties>
+            </xml-element>
+            <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                <xml-properties>
+                    <xml-property name="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.onap.org.v4.RelationshipList"/>
+            <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+        </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.onap.org.v4.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 ATT 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" 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). 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.onap.org.v4.RelationshipList"/>
+            <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v4.PInterfaces"/>
+            <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v4.LagInterfaces"/>
+        </java-attributes>
+        <xml-properties>
+            <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>
+            <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-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+        </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.onap.org.v4.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="ATT 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,ucpeHostName,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.onap.org.v4.RelationshipList"/>
+            <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+        </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.onap.org.v4.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.onap.org.v4.ReservedPropNames"/>
+            <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v4.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="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+            <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+            <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+            <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+        </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.onap.org.v4.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-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-invariant-id}"/>
+        </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.onap.org.v4.ModelVers"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/model-vers/model-ver/{model-version-id}"/>
+        </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.onap.org.v4.ModelElements"/>
+            <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v4.Metadata"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+        </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.onap.org.v4.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.onap.org.v4.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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+        </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.onap.org.v4.ElementChoiceSets"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+        </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.onap.org.v4.ModelElements"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+        </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.onap.org.v4.NamedQueryElements"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+        </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.onap.org.v4.NamedQueryElements"/>
+            <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v4.RelatedLookups"/>
+            <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v4.PropertyConstraints"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+        </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.onap.org.v4.QueryParameters"/>
+            <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v4.InstanceFilters"/>
+            <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.onap.org.v4.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.onap.org.v4.NamedQuery"/>
+            <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v4.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.onap.org.v4.ModelVers"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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.onap.org.v4.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.onap.org.v4.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.onap.org.v4.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.onap.org.v4.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.onap.org.v4.ExtraProperties"/>
+            <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v4.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.onap.org.v4.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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+        </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.onap.org.v4.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-property name="dbAlias" value="instance-group-type"/>
+                </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.onap.org.v4.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="searchable" value="id,description"/>
+            <xml-property name="indexedProps" value="id,description,type,sub-type"/>
+            <xml-property name="container" value="instance-groups"/>
+            <xml-property name="namespace" value="network"/>
+            <xml-property name="uriTemplate" value="/network/instance-groups/instance-group/{id}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+        </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.onap.org.v4.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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                </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.onap.org.v4.TunnelXconnects"/>
+            <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v4.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-property name="uriTemplate" value="/allotted-resources/allotted-resource/{id}"/>
+        </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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/tunnel-xconnects/tunnel-xconnect/{id}"/>
+        </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.onap.org.v4.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.onap.org.v4.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"/>
+            <xml-property name="container" value="entitlements"/>
+            <xml-property name="uriTemplate" value="/entitlements/entitlement/{group-uuid}/{resource-uuid}"/>
+        </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.onap.org.v4.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.onap.org.v4.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"/>
+            <xml-property name="container" value="licenses"/>
+            <xml-property name="uriTemplate" value="/licenses/license/{group-uuid}/{resource-uuid}"/>
+        </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,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.onap.org.v4.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.onap.org.v4.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-property name="uriTemplate" value="/network/zones/zone/{zone-id}"/>
+        </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.onap.org.v4.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" type="java.lang.String" xml-key="true">
+                <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" type="java.lang.String" xml-key="true">
+                <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.onap.org.v4.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-property name="uriTemplate" value="/route-targets/route-target/{global-route-target}/{route-target-role}"/>
+        </xml-properties>
+    </java-type>
+</java-types>
+</xml-bindings>
\ No newline at end of file
diff --git a/aai-schema-gen/src/test/resources/oxm/dbalias_oxm_one.xml b/aai-schema-gen/src/test/resources/oxm/dbalias_oxm_one.xml
new file mode 100644 (file)
index 0000000..74aca15
--- /dev/null
@@ -0,0 +1,4237 @@
+<!--
+  ============LICENSE_START=======================================================
+  org.onap.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=========================================================
+  -->
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v1" xml-mapping-metadata-complete="true">
+    <xml-schema element-form-default="QUALIFIED">
+        <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v1"/>
+    </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.onap.org.v1.Search"/>
+                <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v1.Actions"/>
+                <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v1.CloudInfrastructure"/>
+                <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v1.Business"/>
+                <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v1.ServiceDesignAndCreation"/>
+                <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v1.Network"/>
+                <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v1.AaiInternal"/>
+            </java-attributes>
+        </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.onap.org.v1.EdgeTagQueryResult"/>
+                <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v1.EdgeTagQueryRequest"/>
+                <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v1.SearchResults"/>
+                <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v1.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.onap.org.v1.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.onap.org.v1.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.onap.org.v1.InventoryItemData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v1.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.onap.org.v1.StartNodeFilter"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v1.IncludeNodeFilter"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v1.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.onap.org.v1.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.onap.org.v1.OamNetworks"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v1.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.onap.org.v1.DvsSwitches"/>
+                <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v1.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.onap.org.v1.Update"/>
+                <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v1.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.onap.org.v1.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.onap.org.v1.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.onap.org.v1.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.onap.org.v1.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.onap.org.v1.Complexes"/>
+                <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v1.CloudRegions"/>
+                <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v1.NetworkProfiles"/>
+                <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v1.Pservers"/>
+                <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v1.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.onap.org.v1.CloudRegion"/>
+            </java-attributes>
+        </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, e.g., att-aic. 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"/>
+                    </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"/>
+                    </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"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v1.VolumeGroups"/>
+                <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v1.Tenants"/>
+                <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v1.Flavors"/>
+                <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v1.Images"/>
+                <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v1.DvsSwitches"/>
+                <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v1.OamNetworks"/>
+                <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v1.AvailabilityZones"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.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="identity-url,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-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+            </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.onap.org.v1.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" 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 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">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this 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.onap.org.v1.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="dependentOn" value="cloud-region"/>
+                <xml-property name="container" value="volume-groups"/>
+                <xml-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+            </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.onap.org.v1.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.onap.org.v1.RelationshipData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v1.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.onap.org.v1.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.onap.org.v1.CtagPools"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.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="uniqueProps" value="physical-location-id"/>
+                <xml-property name="container" value="complexes"/>
+                <xml-property name="namespace" value="cloud-infrastructure"/>
+                <xml-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+            </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.onap.org.v1.Tenant"/>
+            </java-attributes>
+        </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.onap.org.v1.Vservers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.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="dependentOn" value="cloud-region"/>
+                <xml-property name="container" value="tenants"/>
+                <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+            </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.onap.org.v1.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" 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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v1.Volumes"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v1.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="dependentOn" value="tenant"/>
+                <xml-property name="container" value="vservers"/>
+                <xml-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+            </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.onap.org.v1.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="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v1.Vlans"/>
+                <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v1.SriovVfs"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v1.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v1.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,p-interface,vserver,lag-interface,l-interface"/>
+                <xml-property name="container" value="l-interfaces"/>
+                <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+            </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.onap.org.v1.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-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+            </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.onap.org.v1.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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v1.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v1.L3InterfaceIpv6AddressList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Definition of vlan"/>
+                <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner"/>
+                <xml-property name="dependentOn" value="l-interface"/>
+                <xml-property name="container" value="vlans"/>
+                <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+            </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.onap.org.v1.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-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+            </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.onap.org.v1.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.onap.org.v1.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v1.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-property name="uriTemplate" value="/images/image/{image-id}"/>
+            </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.onap.org.v1.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-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+            </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 GenericVnfs."/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+            </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.onap.org.v1.Pserver"/>
+            </java-attributes>
+        </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="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" 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). 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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v1.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v1.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"/>
+                <xml-property name="uniqueProps" value="hostname"/>
+                <xml-property name="container" value="pservers"/>
+                <xml-property name="namespace" value="cloud-infrastructure"/>
+                <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+            </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.onap.org.v1.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="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v1.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v1.LInterfaces"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Physical interface (e.g., nic)"/>
+                <xml-property name="indexedProps" value="interface-name"/>
+                <xml-property name="dependentOn" value="vpls-pe,pserver,pnf"/>
+                <xml-property name="container" value="p-interfaces"/>
+                <xml-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+            </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.onap.org.v1.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="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v1.LInterfaces"/>
+            </java-attributes>
+            <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,vpls-pe"/>
+                <xml-property name="container" value="lag-interfaces"/>
+                <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+            </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.onap.org.v1.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-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v1.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-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+            </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.onap.org.v1.Connectors"/>
+                <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v1.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.onap.org.v1.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-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-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.onap.org.v1.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v1.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-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+            </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.onap.org.v1.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-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v1.ServiceSubscriptions"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.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"/>
+                <xml-property name="uniqueProps" value="global-customer-id"/>
+                <xml-property name="container" value="customers"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+            </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.onap.org.v1.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="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v1.ServiceInstances">
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.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="uriTemplate" value="/service-subscriptions/service-subscription/{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.onap.org.v1.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="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-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-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="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v1.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v1.Metadata"/>
+            </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"/>
+                <xml-property name="uniqueProps" value="service-instance-id"/>
+                <xml-property name="dependentOn" value="service-subscription"/>
+                <xml-property name="container" value="service-instances"/>
+                <xml-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+            </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.onap.org.v1.VnfImages"/>
+                <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v1.Services"/>
+                <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v1.ServiceCapabilities"/>
+                <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v1.Models"/>
+                <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v1.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.onap.org.v1.VnfImage"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VnfImage">
+            <xml-root-element name="vnf-image"/>
+            <java-attributes>
+                <xml-element java-attribute="attUuid" name="att-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of this asset"/>
+                        <xml-property name="dbAlias" value="vnf-image-uuid"/>
+                    </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.onap.org.v1.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,att-uuid,application-vendor,application-version"/>
+                <xml-property name="uniqueProps" value="att-uuid"/>
+                <xml-property name="container" value="vnf-images"/>
+                <xml-property name="namespace" value="service-design-and-creation"/>
+                <xml-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{att-uuid}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+            </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.onap.org.v1.LogicalLinks"/>
+                <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v1.SitePairSets"/>
+                <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v1.VpnBindings"/>
+                <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v1.VplsPes"/>
+                <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v1.MulticastConfigurations"/>
+                <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v1.Vces"/>
+                <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v1.Vnfcs"/>
+                <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v1.L3Networks"/>
+                <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v1.NetworkPolicies"/>
+                <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v1.GenericVnfs"/>
+                <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v1.LagLinks"/>
+                <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v1.Newvces"/>
+                <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v1.Pnfs"/>
+                <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v1.PhysicalLinks"/>
+                <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v1.IpsecConfigurations"/>
+            </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.onap.org.v1.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 (should be att-ip-version)"/>
+                    </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-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-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.onap.org.v1.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"/>
+                <xml-property name="container" value="logical-links"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/logical-links/logical-link/{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.onap.org.v1.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.onap.org.v1.RoutingInstances"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.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-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+            </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.onap.org.v1.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.onap.org.v1.SitePairs"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.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-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+            </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.onap.org.v1.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="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v1.ClassesOfService"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="vpn-id,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-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+            </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.onap.org.v1.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.org.v1.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v1.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v1.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-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+            </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.onap.org.v1.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-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="portGroups" name="port-groups" type="inventory.aai.onap.org.v1.PortGroups"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.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="uniqueProps" value="vnf-id"/>
+                <xml-property name="container" value="vces"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="extends" value="vnf"/>
+                <xml-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+            </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.onap.org.v1.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.onap.org.v1.CvlanTags"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.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-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag-cvlan-tag}"/>
+            </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.onap.org.v1.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" 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 default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.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"/>
+                <xml-property name="container" value="vnfcs"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+            </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.onap.org.v1.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" 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" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" 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"/>
+                    </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-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-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="subnets" name="subnets" type="inventory.aai.onap.org.v1.Subnets"/>
+                <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v1.CtagAssignments"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.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,service-id,network-id,network-name,persona-model-id,persona-model-version,widget-model-id,widget-model-version,contrail-network-fqdn,neutron-network-id"/>
+                <xml-property name="uniqueProps" value="network-id"/>
+                <xml-property name="container" value="l3-networks"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+            </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.onap.org.v1.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="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" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" 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.onap.org.v1.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="subnet-id,neutron-subnet-id"/>
+                <xml-property name="uniqueProps" value="subnet-id"/>
+                <xml-property name="dependentOn" value="l3-network"/>
+                <xml-property name="container" value="subnets"/>
+                <xml-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+            </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.onap.org.v1.GenericVnf"/>
+            </java-attributes>
+        </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" 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"/>
+                    </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-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="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 ATT 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"/>
+                    </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"/>
+                    </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"/>
+                    </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"/>
+                    </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"/>
+                    </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"/>
+                    </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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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"/>
+                    </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"/>
+                    </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 ASDC model id for this resource or service model."/>
+                    </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-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.onap.org.v1.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v1.LInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v1.LagInterfaces"/>
+                <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v1.VfModules"/>
+            </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="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="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+            </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.onap.org.v1.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" java-attribute="isBaseVfModule" name="is-base-vf-module" 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 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-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-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.onap.org.v1.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-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+            </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.onap.org.v1.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 and clients should expect changes                  to occur in the future to this field as ASDC 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-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="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 GenericVnf (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."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v1.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v1.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="uniqueProps" value="vnf-id2"/>
+                <xml-property name="container" value="newvces"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+            </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.onap.org.v1.Pnf"/>
+            </java-attributes>
+        </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 ATT 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="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v1.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v1.PInterfaces"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>
+                <xml-property name="indexedProps" value="pnf-name"/>
+                <xml-property name="nameProps" value="pnf-name"/>
+                <xml-property name="uniqueProps" value="pnf-name"/>
+                <xml-property name="container" value="pnfs"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+            </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.onap.org.v1.PhysicalLink"/>
+            </java-attributes>
+        </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="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v1.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="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+            </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.onap.org.v1.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="ATT 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,ucpeHostName,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.onap.org.v1.RelationshipList"/>
+                <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v1.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="nameProps" 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-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+            </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.onap.org.v1.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.onap.org.v1.ReservedPropNames"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v1.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="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+                <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+                <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+                <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+            </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.onap.org.v1.Model"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type 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"/>
+                <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"/>
+                <xml-property name="uniqueProps" value="model-name-version-id"/>
+                <xml-property name="container" value="models"/>
+                <xml-property name="namespace" value="service-design-and-creation"/>
+                <xml-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-name-version-id}"/>
+            </xml-properties>
+            <xml-root-element name="model"/>
+            <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 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="modelElements" name="model-elements" type="inventory.aai.onap.org.v1.ModelElements"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v1.Metadata"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+            </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.onap.org.v1.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.onap.org.v1.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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+            </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.onap.org.v1.ConstrainedElementSets"/>
+            </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.onap.org.v1.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-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+            </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.onap.org.v1.ElementChoiceSets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+            </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.onap.org.v1.ModelElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+            </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.onap.org.v1.NamedQueryElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+            </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="namedQueryElements" name="named-query-elements" type="inventory.aai.onap.org.v1.NamedQueryElements"/>
+                <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v1.RelatedLookups"/>
+                <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v1.PropertyConstraints"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+            </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.onap.org.v1.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.onap.org.v1.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-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+            </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="property-name" name="property-name" required="true" type="java.lang.String"/>
+                <xml-element java-attribute="property-value" 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.onap.org.v1.QueryParameters"/>
+                <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v1.InstanceFilters"/>
+            </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.onap.org.v1.NamedQuery"/>
+                <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v1.Model"/>
+            </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.onap.org.v1.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="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.onap.org.v1.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.onap.org.v1.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.onap.org.v1.ExtraProperties"/>
+                <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v1.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.onap.org.v1.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="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,generic-vnf"/>
+                <xml-property name="abstract" value="true"/>
+            </xml-properties>
+        </java-type>
+    </java-types>
+</xml-bindings>
\ No newline at end of file
diff --git a/aai-schema-gen/src/test/resources/oxm/dbalias_oxm_three.xml b/aai-schema-gen/src/test/resources/oxm/dbalias_oxm_three.xml
new file mode 100644 (file)
index 0000000..ec32bbc
--- /dev/null
@@ -0,0 +1,5398 @@
+<!--
+
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 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=========================================================
+
+    ECOMP is a trademark and service mark of AT&T Intellectual Property.
+  -->
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v3" xml-mapping-metadata-complete="true">
+    <xml-schema element-form-default="QUALIFIED">
+        <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v3"/>
+    </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.onap.org.v3.Search"/>
+                <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v3.Actions"/>
+                <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v3.CloudInfrastructure"/>
+                <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v3.Business"/>
+                <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v3.ServiceDesignAndCreation"/>
+                <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v3.Network"/>
+                <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v3.AaiInternal"/>
+                <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.onap.org.v3.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.onap.org.v3.EdgeTagQueryResult"/>
+                <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v3.EdgeTagQueryRequest"/>
+                <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v3.SearchResults"/>
+                <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v3.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.onap.org.v3.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.onap.org.v3.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.onap.org.v3.InventoryItemData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v3.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.onap.org.v3.StartNodeFilter"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v3.IncludeNodeFilter"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v3.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.onap.org.v3.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.onap.org.v3.OamNetworks"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v3.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.onap.org.v3.DvsSwitches"/>
+                <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v3.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.onap.org.v3.Update"/>
+                <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v3.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.onap.org.v3.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.onap.org.v3.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.onap.org.v3.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.onap.org.v3.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.onap.org.v3.Complexes"/>
+                <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v3.CloudRegions"/>
+                <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v3.NetworkProfiles"/>
+                <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v3.Pservers"/>
+                <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v3.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.onap.org.v3.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, e.g., att-aic. 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.onap.org.v3.VolumeGroups"/>
+                <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v3.Tenants"/>
+                <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v3.Flavors"/>
+                <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v3.GroupAssignments"/>
+                <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v3.Snapshots"/>
+                <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v3.Images"/>
+                <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v3.DvsSwitches"/>
+                <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v3.OamNetworks"/>
+                <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v3.AvailabilityZones"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+            </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.onap.org.v3.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" 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.onap.org.v3.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-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.RelationshipData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v3.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.onap.org.v3.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.onap.org.v3.CtagPools"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+            </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.onap.org.v3.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.onap.org.v3.Vservers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+            </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.onap.org.v3.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" 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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v3.Volumes"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.Vlans"/>
+                <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v3.SriovVfs"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v3.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v3.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,p-interface,vserver,lag-interface,l-interface"/>
+                <xml-property name="container" value="l-interfaces"/>
+                <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+            </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.onap.org.v3.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-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+            </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.onap.org.v3.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="vpnKey" name="vpn-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan"/>
+                    </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.onap.org.v3.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v3.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v3.L3InterfaceIpv6AddressList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Definition of vlan"/>
+                <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key"/>
+                <xml-property name="dependentOn" value="l-interface"/>
+                <xml-property name="container" value="vlans"/>
+                <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+            </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.onap.org.v3.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-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/images/image/{image-id}"/>
+            </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.onap.org.v3.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-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+            </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 GenericVnfs."/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+            </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.onap.org.v3.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" 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). 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.onap.org.v3.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v3.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v3.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="uniqueProps" value="hostname"/>
+                <xml-property name="container" value="pservers"/>
+                <xml-property name="namespace" value="cloud-infrastructure"/>
+                <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+            </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.onap.org.v3.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.onap.org.v3.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+            </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.onap.org.v3.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.onap.org.v3.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v3.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,vpls-pe,pnf"/>
+                <xml-property name="container" value="lag-interfaces"/>
+                <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+            </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.onap.org.v3.Connectors"/>
+                <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v3.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.onap.org.v3.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.onap.org.v3.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.ServiceSubscriptions"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.ServiceInstances">
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/service-subscriptions/service-subscription/{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.onap.org.v3.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.onap.org.v3.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v3.Metadata"/>
+                <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+            </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.onap.org.v3.VnfImages"/>
+                <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v3.Services"/>
+                <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v3.ServiceCapabilities"/>
+                <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v3.Models"/>
+                <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v3.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.onap.org.v3.VnfImage"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VnfImage">
+            <xml-root-element name="vnf-image"/>
+            <java-attributes>
+                <xml-element java-attribute="attUuid" name="att-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of this asset"/>
+                        <xml-property name="dbAlias" value="vnf-image-uuid"/>
+                    </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.onap.org.v3.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,att-uuid,application-vendor,application-version"/>
+                <xml-property name="uniqueProps" value="att-uuid"/>
+                <xml-property name="container" value="vnf-images"/>
+                <xml-property name="namespace" value="service-design-and-creation"/>
+                <xml-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{att-uuid}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+            </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.onap.org.v3.LogicalLinks"/>
+                <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v3.SitePairSets"/>
+                <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v3.VpnBindings"/>
+                <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v3.VplsPes"/>
+                <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v3.MulticastConfigurations"/>
+                <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v3.Vces"/>
+                <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v3.Vnfcs"/>
+                <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v3.L3Networks"/>
+                <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v3.NetworkPolicies"/>
+                <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v3.GenericVnfs"/>
+                <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v3.LagLinks"/>
+                <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v3.Newvces"/>
+                <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v3.Pnfs"/>
+                <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v3.PhysicalLinks"/>
+                <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v3.IpsecConfigurations"/>
+                <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v3.RouteTableReferences"/>
+                <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v3.InstanceGroups"/>
+                <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.org.v3.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.onap.org.v3.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 (should be att-ip-version)"/>
+                    </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.onap.org.v3.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-property name="uriTemplate" value="/network/logical-links/logical-link/{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.onap.org.v3.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.onap.org.v3.RoutingInstances"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.SitePairs"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+            </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.onap.org.v3.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, UCPE, 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.onap.org.v3.ClassesOfService"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+            </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.onap.org.v3.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.org.v3.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v3.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.PortGroups"/>
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v3.Licenses"/>
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v3.Entitlements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.CvlanTags"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag-cvlan-tag}"/>
+            </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.onap.org.v3.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-property name="dbAlias" value="nfc-naming-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-property name="dbAlias" value="nfc-function"/>
+                    </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" 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 default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v3.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-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+            </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.onap.org.v3.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" 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" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" 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.onap.org.v3.Subnets"/>
+                <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v3.CtagAssignments"/>
+                <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v3.SegmentationAssignments"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+            </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.onap.org.v3.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" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" 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.onap.org.v3.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-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+            </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.onap.org.v3.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" 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 ATT 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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 uCPE"/>
+                    </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 by uCPE"/>
+                    </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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v3.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v3.LInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v3.LagInterfaces"/>
+                <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v3.VfModules"/>
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v3.Licenses"/>
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+            </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.onap.org.v3.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" java-attribute="isBaseVfModule" name="is-base-vf-module" 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 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.onap.org.v3.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-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+            </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.onap.org.v3.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v3.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+            </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.onap.org.v3.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 ATT 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" 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). 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.onap.org.v3.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v3.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v3.LagInterfaces"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>
+                <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-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+            </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.onap.org.v3.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="ATT 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,ucpeHostName,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.onap.org.v3.RelationshipList"/>
+                <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.ReservedPropNames"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v3.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="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+                <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+                <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+                <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+            </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.onap.org.v3.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-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-invariant-id}"/>
+            </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.onap.org.v3.ModelVers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/model-vers/model-ver/{model-version-id}"/>
+            </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.onap.org.v3.ModelElements"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v3.Metadata"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+            </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.onap.org.v3.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.onap.org.v3.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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+            </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.onap.org.v3.ElementChoiceSets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+            </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.onap.org.v3.ModelElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+            </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.onap.org.v3.NamedQueryElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+            </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.onap.org.v3.NamedQueryElements"/>
+                <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v3.RelatedLookups"/>
+                <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v3.PropertyConstraints"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+            </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.onap.org.v3.QueryParameters"/>
+                <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v3.InstanceFilters"/>
+                <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.onap.org.v3.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.onap.org.v3.NamedQuery"/>
+                <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v3.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.onap.org.v3.ModelVers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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.onap.org.v3.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.onap.org.v3.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.onap.org.v3.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.onap.org.v3.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.onap.org.v3.ExtraProperties"/>
+                <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v3.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.onap.org.v3.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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/network/instance-groups/instance-group/{id}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+            </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.onap.org.v3.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.onap.org.v3.TunnelXconnects"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v3.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-property name="uriTemplate" value="/allotted-resources/allotted-resource/{id}"/>
+            </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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/tunnel-xconnects/tunnel-xconnect/{id}"/>
+            </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.onap.org.v3.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.onap.org.v3.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"/>
+                <xml-property name="container" value="entitlements"/>
+                <xml-property name="uriTemplate" value="/entitlements/entitlement/{group-uuid}/{resource-uuid}"/>
+            </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.onap.org.v3.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.onap.org.v3.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"/>
+                <xml-property name="container" value="licenses"/>
+                <xml-property name="uriTemplate" value="/licenses/license/{group-uuid}/{resource-uuid}"/>
+            </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,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.onap.org.v3.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.onap.org.v3.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-property name="uriTemplate" value="/network/zones/zone/{zone-id}"/>
+            </xml-properties>
+        </java-type>
+
+    </java-types>
+</xml-bindings>
\ No newline at end of file
diff --git a/aai-schema-gen/src/test/resources/oxm/dbalias_oxm_two.xml b/aai-schema-gen/src/test/resources/oxm/dbalias_oxm_two.xml
new file mode 100644 (file)
index 0000000..9f5b9dc
--- /dev/null
@@ -0,0 +1,4716 @@
+<!--
+
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 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=========================================================
+
+    ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+-->
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v2" xml-mapping-metadata-complete="true">
+    <xml-schema element-form-default="QUALIFIED">
+        <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v2"/>
+    </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.onap.org.v2.Search"/>
+                <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v2.Actions"/>
+                <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v2.CloudInfrastructure"/>
+                <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v2.Business"/>
+                <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v2.ServiceDesignAndCreation"/>
+                <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v2.Network"/>
+                <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v2.AaiInternal"/>
+            </java-attributes>
+        </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.onap.org.v2.EdgeTagQueryResult"/>
+                <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v2.EdgeTagQueryRequest"/>
+                <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v2.SearchResults"/>
+                <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v2.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.onap.org.v2.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.onap.org.v2.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.onap.org.v2.InventoryItemData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v2.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.onap.org.v2.StartNodeFilter"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v2.IncludeNodeFilter"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v2.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.onap.org.v2.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.onap.org.v2.OamNetworks"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v2.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.onap.org.v2.DvsSwitches"/>
+                <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v2.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.onap.org.v2.Update"/>
+                <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v2.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.onap.org.v2.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.onap.org.v2.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.onap.org.v2.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.onap.org.v2.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.onap.org.v2.Complexes"/>
+                <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v2.CloudRegions"/>
+                <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v2.NetworkProfiles"/>
+                <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v2.Pservers"/>
+                <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v2.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.onap.org.v2.CloudRegion"/>
+            </java-attributes>
+        </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"/>
+                    </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"/>
+                    </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"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v2.VolumeGroups"/>
+                <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v2.Tenants"/>
+                <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v2.Flavors"/>
+                <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v2.GroupAssignments"/>
+                <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v2.Snapshots"/>
+                <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v2.Images"/>
+                <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v2.DvsSwitches"/>
+                <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v2.OamNetworks"/>
+                <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v2.AvailabilityZones"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation."/>
+                <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-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+            </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.onap.org.v2.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" 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 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">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of this 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.onap.org.v2.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="dependentOn" value="cloud-region"/>
+                <xml-property name="container" value="volume-groups"/>
+                <xml-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.RelationshipData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v2.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.onap.org.v2.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.onap.org.v2.CtagPools"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.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-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+            </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.onap.org.v2.Tenant"/>
+            </java-attributes>
+        </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.onap.org.v2.Vservers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.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="dependentOn" value="cloud-region"/>
+                <xml-property name="container" value="tenants"/>
+                <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+            </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.onap.org.v2.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" 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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v2.Volumes"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v2.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-name,vserver-id,vserver-name2"/>
+                <xml-property name="dependentOn" value="tenant"/>
+                <xml-property name="container" value="vservers"/>
+                <xml-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+            </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.onap.org.v2.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="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v2.Vlans"/>
+                <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v2.SriovVfs"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v2.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v2.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,p-interface,vserver,lag-interface,l-interface"/>
+                <xml-property name="container" value="l-interfaces"/>
+                <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+            </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.onap.org.v2.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-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+            </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.onap.org.v2.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="vpnKey" name="vpn-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v2.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v2.L3InterfaceIpv6AddressList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Definition of vlan"/>
+                <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key"/>
+                <xml-property name="dependentOn" value="l-interface"/>
+                <xml-property name="container" value="vlans"/>
+                <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+            </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.onap.org.v2.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-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v2.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-property name="uriTemplate" value="/images/image/{image-id}"/>
+            </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.onap.org.v2.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-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+            </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 GenericVnfs."/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+            </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.onap.org.v2.Pserver"/>
+            </java-attributes>
+        </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="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" 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). 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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v2.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v2.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"/>
+                <xml-property name="searchable" value="hostname,pserver-name2,pserver-id,ipv4-oam-address"/>
+                <xml-property name="uniqueProps" value="hostname"/>
+                <xml-property name="container" value="pservers"/>
+                <xml-property name="namespace" value="cloud-infrastructure"/>
+                <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+            </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.onap.org.v2.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="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v2.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v2.LInterfaces"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Physical interface (e.g., nic)"/>
+                <xml-property name="indexedProps" value="interface-name"/>
+                <xml-property name="dependentOn" value="vpls-pe,pserver,pnf"/>
+                <xml-property name="container" value="p-interfaces"/>
+                <xml-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+            </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.onap.org.v2.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="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v2.LInterfaces"/>
+            </java-attributes>
+            <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,vpls-pe,pnf"/>
+                <xml-property name="container" value="lag-interfaces"/>
+                <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+            </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.onap.org.v2.Connectors"/>
+                <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v2.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.onap.org.v2.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.onap.org.v2.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v2.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-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+            </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.onap.org.v2.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-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.onap.org.v2.ServiceSubscriptions"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.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="subscriber-name,global-customer-id"/>
+                <xml-property name="uniqueProps" value="global-customer-id"/>
+                <xml-property name="container" value="customers"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.ServiceInstances">
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.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="uriTemplate" value="/service-subscriptions/service-subscription/{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.onap.org.v2.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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v2.Metadata"/>
+            </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"/>
+                <xml-property name="nameProps" value="service-instance-name"/>
+                <xml-property name="searchable" value="service-instance-id"/>
+                <xml-property name="uniqueProps" value="service-instance-id"/>
+                <xml-property name="dependentOn" value="service-subscription"/>
+                <xml-property name="container" value="service-instances"/>
+                <xml-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+            </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.onap.org.v2.VnfImages"/>
+                <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v2.Services"/>
+                <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v2.ServiceCapabilities"/>
+                <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v2.Models"/>
+                <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v2.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.onap.org.v2.VnfImage"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VnfImage">
+            <xml-root-element name="vnf-image"/>
+            <java-attributes>
+                <xml-element java-attribute="attUuid" name="att-uuid" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of this asset"/>
+                        <xml-property name="dbAlias" value="vnf-image-uuid"/>
+                    </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.onap.org.v2.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,att-uuid,application-vendor,application-version"/>
+                <xml-property name="uniqueProps" value="att-uuid"/>
+                <xml-property name="container" value="vnf-images"/>
+                <xml-property name="namespace" value="service-design-and-creation"/>
+                <xml-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{att-uuid}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+            </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.onap.org.v2.LogicalLinks"/>
+                <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v2.SitePairSets"/>
+                <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v2.VpnBindings"/>
+                <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v2.VplsPes"/>
+                <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v2.MulticastConfigurations"/>
+                <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v2.Vces"/>
+                <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v2.Vnfcs"/>
+                <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v2.L3Networks"/>
+                <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v2.NetworkPolicies"/>
+                <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v2.GenericVnfs"/>
+                <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v2.LagLinks"/>
+                <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v2.Newvces"/>
+                <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v2.Pnfs"/>
+                <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v2.PhysicalLinks"/>
+                <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v2.IpsecConfigurations"/>
+                <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v2.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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/network/logical-links/logical-link/{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.onap.org.v2.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.onap.org.v2.RoutingInstances"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.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-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.SitePairs"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.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-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.ClassesOfService"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.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-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+            </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.onap.org.v2.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.org.v2.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v2.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v2.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-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.PortGroups"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.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-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.CvlanTags"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.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-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag-cvlan-tag}"/>
+            </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.onap.org.v2.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" 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 default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v2.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="container" value="vnfcs"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+            </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.onap.org.v2.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" 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" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" 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"/>
+                    </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="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="subnets" name="subnets" type="inventory.aai.onap.org.v2.Subnets"/>
+                <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v2.CtagAssignments"/>
+                <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v2.SegmentationAssignments"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.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"/>
+                <xml-property name="uniqueProps" value="network-id"/>
+                <xml-property name="container" value="l3-networks"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+            </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.onap.org.v2.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" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" 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.onap.org.v2.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-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+            </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.onap.org.v2.GenericVnf"/>
+            </java-attributes>
+        </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" 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"/>
+                    </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="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"/>
+                    </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"/>
+                    </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"/>
+                    </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"/>
+                    </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"/>
+                    </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"/>
+                    </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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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"/>
+                    </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="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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v2.LInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v2.LagInterfaces"/>
+                <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v2.VfModules"/>
+            </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-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+            </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.onap.org.v2.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" java-attribute="isBaseVfModule" name="is-base-vf-module" 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 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.onap.org.v2.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-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+            </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.onap.org.v2.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 and clients should expect changes                  to occur in the future to this field as ASDC 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="License key"/>
+                    </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 GenericVnf (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."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v2.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v2.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-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+            </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.onap.org.v2.Pnf"/>
+            </java-attributes>
+        </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 java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="orchestration-status is the status of orchestration on the PNF."/>
+                    </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). 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="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v2.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v2.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v2.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"/>
+                <xml-property name="uniqueProps" value="pnf-name"/>
+                <xml-property name="container" value="pnfs"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+            </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.onap.org.v2.PhysicalLink"/>
+            </java-attributes>
+        </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.onap.org.v2.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="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+            </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.onap.org.v2.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.onap.org.v2.RelationshipList"/>
+                <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v2.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-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.ReservedPropNames"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v2.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="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+                <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+                <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+                <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+            </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.onap.org.v2.Model"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type 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"/>
+                <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"/>
+                <xml-property name="uniqueProps" value="model-name-version-id"/>
+                <xml-property name="container" value="models"/>
+                <xml-property name="namespace" value="service-design-and-creation"/>
+                <xml-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-name-version-id}"/>
+            </xml-properties>
+            <xml-root-element name="model"/>
+            <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 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="modelElements" name="model-elements" type="inventory.aai.onap.org.v2.ModelElements"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v2.Metadata"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+            </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.onap.org.v2.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.onap.org.v2.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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+            </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.onap.org.v2.ConstrainedElementSets"/>
+            </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.onap.org.v2.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-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+            </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.onap.org.v2.ElementChoiceSets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+            </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.onap.org.v2.ModelElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+            </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.onap.org.v2.NamedQueryElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+            </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.onap.org.v2.NamedQueryElements"/>
+                <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v2.RelatedLookups"/>
+                <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v2.PropertyConstraints"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+            </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="property-name" name="property-name" required="true" type="java.lang.String"/>
+                <xml-element java-attribute="property-value" 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.onap.org.v2.QueryParameters"/>
+                <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v2.InstanceFilters"/>
+                <xml-element java-attribute="topNodeType" name="top-node-type" 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.onap.org.v2.NamedQuery"/>
+                <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v2.Model"/>
+            </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.onap.org.v2.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="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.onap.org.v2.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.onap.org.v2.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.onap.org.v2.ExtraProperties"/>
+                <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v2.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.onap.org.v2.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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+            </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.onap.org.v2.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.onap.org.v2.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-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+            </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,generic-vnf"/>
+                <xml-property name="abstract" value="true"/>
+            </xml-properties>
+        </java-type>
+    </java-types>
+</xml-bindings>
\ No newline at end of file
diff --git a/aai-schema-gen/src/test/resources/oxm/network_oxm_v13.xml b/aai-schema-gen/src/test/resources/oxm/network_oxm_v13.xml
new file mode 100644 (file)
index 0000000..0bf7c20
--- /dev/null
@@ -0,0 +1,3412 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+  ============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=========================================================
+  -->
+
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v13" xml-mapping-metadata-complete="true">
+       <xml-schema element-form-default="QUALIFIED">
+               <xml-ns namespace-uri="http://org.onap.aai.inventory/v13" />
+       </xml-schema>
+       <java-types>
+               <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.onap.org.v13.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="provStatus" name="prov-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV]." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="defaultValue" value="false"/>
+                                               <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="allowedAddressPairs" name="allowed-address-pairs" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Freeform field for storing an ip address, list of ip addresses or a subnet block." />
+                                       </xml-properties>
+                               </xml-element>                          
+                               <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.onap.org.v13.Vlans" />
+                               <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v13.SriovVfs" />
+                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v13.LInterfaces" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList" />
+                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v13.L3InterfaceIpv4AddressList" />
+                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v13.L3InterfaceIpv6AddressList" />
+                               <xml-element java-attribute="adminStatus" name="admin-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Administrative status of the interface. Valid values are 'up', 'down', or 'testing'." />
+                                       </xml-properties>
+                               </xml-element>
+                       </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,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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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,vnfc" />
+                       </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.onap.org.v13.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="vpnKey" name="vpn-key" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan" />
+                                       </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="provStatus" name="prov-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV]." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="defaultValue" value="false"/>
+                                               <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration." />
+                                       </xml-properties>
+                               </xml-element>                  
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList" />
+                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v13.L3InterfaceIpv4AddressList" />
+                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v13.L3InterfaceIpv6AddressList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Definition of vlan" />
+                               <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key" />
+                               <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.onap.org.v13.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,vnfc" />
+                       </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.onap.org.v13.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="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="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="invStatus" name="inv-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="inventory status" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList" />
+                               <xml-element java-attribute="sriovPfs" name="sriov-pfs" type="inventory.aai.onap.org.v13.SriovPfs" />
+                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.RelationshipList" />
+                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v13.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,vpls-pe,pnf" />
+                               <xml-property name="container" value="lag-interfaces" />
+                       </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.onap.org.v13.LogicalLinks" />
+                               <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v13.SitePairSets" />
+                               <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v13.VpnBindings" />
+                               <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v13.VplsPes" />
+                               <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v13.MulticastConfigurations" />
+                               <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v13.Vces" />
+                               <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v13.Vnfcs" />
+                               <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v13.L3Networks" />
+                               <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v13.NetworkPolicies" />
+                               <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v13.GenericVnfs" />
+                               <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v13.LagLinks" />
+                               <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v13.Newvces" />
+                               <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v13.Pnfs" />
+                               <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v13.PhysicalLinks" />
+                               <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v13.IpsecConfigurations" />
+                               <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v13.RouteTableReferences" />
+                               <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v13.InstanceGroups" />
+                               <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.org.v13.Zones" />
+                               <xml-element java-attribute="configurations" name="configurations" type="inventory.aai.onap.org.v13.Configurations" />
+                               <xml-element java-attribute="forwardingPaths" name="forwarding-paths" type="inventory.aai.onap.org.v13.ForwardingPaths" />
+                               <xml-element java-attribute="collections" name="collections" type="inventory.aai.onap.org.v13.Collections" />
+                       </java-attributes>
+               </java-type>
+        <java-type name="Configurations">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of configurations" />
+                       </xml-properties>
+                       <xml-root-element name="configurations" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="configuration" name="configuration" type="inventory.aai.onap.org.v13.Configuration" />
+                       </java-attributes>
+               </java-type>
+               <java-type name="Configuration">
+                       <xml-root-element name="configuration" />
+                       <java-attributes>
+                               <xml-element java-attribute="configurationId" name="configuration-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="UUID assigned to configuration." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Indicates the entity that will manage this feature. Could be an organization or the name of the application as well." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="configurationName" name="configuration-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Name of the configuration." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="configurationType" name="configuration-type" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="port-mirroring-configuration." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="configurationSubType" name="configuration-sub-type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="vprobe, pprobe." />
+                                       </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="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Orchestration status of the configuration." />
+                                       </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="configurationSelflink" name="configuration-selflink" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="URL to endpoint where AAI can get more details from SDN-GC." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="id of  the configuration used to customize the resource" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="tunnelBandwidth" name="tunnel-bandwidth" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="DHV Site Effective Bandwidth" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vendorAllowedMaxBandwidth" name="vendor-allowed-max-bandwidth" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Velocloud Nominal Throughput - VNT" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v13.RelationshipList" />
+                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v13.Metadata" />
+                               <xml-element java-attribute="forwarderEvcs" name="forwarder-evcs" type="inventory.aai.onap.org.v13.ForwarderEvcs" />
+                               <xml-element java-attribute="evcs" name="evcs" type="inventory.aai.onap.org.v13.Evcs" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Generic configuration object." />
+                               <xml-property name="indexedProps" value="configuration-id,model-invariant-id,model-version-id" />
+                               <xml-property name="uniqueProps" value="configuration-id" />
+                               <xml-property name="container" value="configurations" />
+                               <xml-property name="namespace" value="network" />
+                       </xml-properties>
+               </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.onap.org.v13.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 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="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 (should be att-ip-version)" />
+                                       </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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.RoutingInstances" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.SitePairs" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="indexedProps" 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.onap.org.v13.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, UCPE, 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.onap.org.v13.ClassesOfService" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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="vpnRegion" name="vpn-region" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="region of customer vpn" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="customerVpnId" name="customer-vpn-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="id for this customer vpn" />
+                                       </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.onap.org.v13.RouteTargets" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.org.v13.RelationshipList" />
+                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v13.PInterfaces" />
+                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.PortGroups" />
+                               <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v13.Licenses" />
+                               <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v13.Entitlements" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.CvlanTags" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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="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.onap.org.v13.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="nfcNamingCode" name="nfc-naming-code" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Short code that is used in naming instances of the item being modeled" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="nfcFunction" name="nfc-function" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service" />
+                                       </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="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-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-properties>
+                               </xml-element>                          
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v13.RelationshipList" />
+                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v13.L3InterfaceIpv4AddressList" />
+                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v13.L3InterfaceIpv6AddressList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="indexedProps" value="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id" />
+                               <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.onap.org.v13.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.onap.org.v13.Subnets" />
+                               <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v13.CtagAssignments" />
+                               <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v13.SegmentationAssignments" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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="subnetRole" name="subnet-role" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="role of the subnet, referenced when assigning IPs" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipAssignmentDirection" name="ip-assignment-direction" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ip address assignment direction of the subnet" />
+                                       </xml-properties>
+                               </xml-element>                  
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="subnetSequence" name="subnet-sequence" type="java.lang.Integer">
+                                       <xml-properties>
+                                               <xml-property name="description" value="sequence of the subnet" />
+                                       </xml-properties>
+                               </xml-element>          
+                               <xml-element java-attribute="hostRoutes" name="host-routes" type="inventory.aai.onap.org.v13.HostRoutes" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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 ATT 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 by uCPE" />
+                                       </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 by uCPE" />
+                                       </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 by uCPE" />
+                                       </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 by uCPE" />
+                                       </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 uCPE" />
+                                       </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 by uCPE" />
+                                       </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-property name="suggestibleOnSearch" value="true"/>
+                                       </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-property name="suggestibleOnSearch" value="true"/>
+                                       </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="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="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="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Temporary location for S-TAG to get to VCE" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="nmProfileName" name="nm-profile-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Network Management profile of this VNF" />
+                                       </xml-properties>
+                               </xml-element>                  
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList" />
+                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v13.LInterfaces" />
+                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v13.LagInterfaces" />
+                               <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v13.VfModules" />
+                               <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v13.Licenses" />
+                               <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v13.RelationshipList" />
+                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v13.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.onap.org.v13.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="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="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 ATT 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="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="The ASDC model id for this resource  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  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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList" />
+                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v13.PInterfaces" />
+                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v13.LagInterfaces" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE." />
+                               <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status,model-invariant-id,model-version-id" />
+                               <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.onap.org.v13.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="serviceProviderBandwidthUpValue" name="service-provider-bandwidth-up-value" type="java.lang.Integer">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Upstream Bandwidth value agreed with the service provider" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serviceProviderBandwidthUpUnits" name="service-provider-bandwidth-up-units" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Units for the upstream BW value" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serviceProviderBandwidthDownValue" name="service-provider-bandwidth-down-value" type="java.lang.Integer">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Downstream Bandwidth value agreed with the service provider" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serviceProviderBandwidthDownUnits" name="service-provider-bandwidth-down-units" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Units for downstream BW value" />
+                                       </xml-properties>
+                               </xml-element>                                  
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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="ATT 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,ucpeHostName,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.onap.org.v13.RelationshipList" />
+                               <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v13.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="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 name="route-table-reference" type="inventory.aai.onap.org.v13.RouteTableReference" java-attribute="routeTableReference" container-type="java.util.ArrayList"/>
+                       </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.onap.org.v13.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.onap.org.v13.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="instanceGroupRole" name="instance-group-role" required="false" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="role of the instance group." />
+                                       </xml-properties>
+                               </xml-element>
+
+                               <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="false" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="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" required="false" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ASDC model version uid for this resource 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="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="instanceGroupType" name="instance-group-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="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="instanceGroupName" name="instance-group-name" required="false" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Instance-Group Name." />
+                                       </xml-properties>
+                               </xml-element>
+                               
+                               <xml-element java-attribute="instanceGroupFunction" name="instance-group-function" required="false" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Instance-Group Function" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList" />
+                       </java-attributes>
+                       
+                       <xml-properties>
+                               <xml-property name="description" value="General mechanism for grouping instances" />
+                               <xml-property name="nameProps" value="description,instance-group-name" />
+                               <xml-property name="uniqueProps" value="id" />
+                               <xml-property name="searchable" value="id,description"/>
+                               <xml-property name="indexedProps" value="id,description,type,sub-type,model-invariant-id,model-version-id" />
+                               <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.onap.org.v13.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.onap.org.v13.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="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.onap.org.v13.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.onap.org.v13.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" />
+                               <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.onap.org.v13.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.onap.org.v13.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" />
+                               <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,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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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-type name="SriovPfs">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of SR-IOV Physical Functions." />
+                       </xml-properties>
+                       <xml-root-element name="sriov-pfs" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="sriovPf" name="sriov-pf" type="inventory.aai.onap.org.v13.SriovPf" />
+                       </java-attributes>
+               </java-type>
+               <java-type name="SriovPf">
+                       <xml-root-element name="sriov-pf" />
+                       <java-attributes>
+                               <xml-element java-attribute="pfPciId" name="pf-pci-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Identifier for the sriov-pf" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v13.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="SR-IOV Physical Function" />
+                               <xml-property name="indexedProps" value="pf-pci-id" />
+                               <xml-property name="dependentOn" value="p-interface" />
+                               <xml-property name="container" value="sriov-pfs" />
+                       </xml-properties>
+               </java-type>            
+               <java-type name="HostRoutes">
+                       <xml-root-element name="host-routes" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="hostRoute" name="host-route" type="inventory.aai.onap.org.v13.HostRoute" />
+                       </java-attributes>
+               </java-type>
+               <java-type name="HostRoute">
+                       <xml-root-element name="host-route" />
+                       <java-attributes>
+                               <xml-element java-attribute="hostRouteId" name="host-route-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="host-route id" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="routePrefix" name="route-prefix" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="subnet prefix" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="nextHop" name="next-hop" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Could be ip-address, hostname, or service-instance" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="nextHopType" name="next-hop-type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Should be ip-address, hostname, or service-instance to match next-hop" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v13.RelationshipList" />
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="indexedProps" value="host-route-id" />
+                               <xml-property name="dependentOn" value="subnet" />
+                               <xml-property name="container" value="host-routes" />
+                       </xml-properties>
+               </java-type>
+               <java-type name="ForwardingPaths">
+                       <xml-root-element name="forwarding-paths" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="forwardingPath" name="forwarding-path" type="inventory.aai.onap.org.v13.ForwardingPath" />
+                       </java-attributes>
+               </java-type>            
+               <java-type name="ForwardingPath">
+                       <xml-root-element name="forwarding-path"/>
+                       <xml-properties>
+                               <xml-property name="namespace" value="network"/>
+                               <xml-property name="indexedProps" value="forwarding-path-id,forwarding-path-name"/>
+                               <xml-property name="description" value="Entity that describes the sequenced forwarding path between interfaces of services or resources"/>
+                         <xml-property name="container" value="forwarding-paths" />
+                         <xml-property name="nameProps" value="forwarding-path-name" />
+                         <xml-property name="uniqueProps" value="forwarding-path-id" />
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element java-attribute="forwardingPathId" name="forwarding-path-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of this FP"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="forwardingPathName" name="forwarding-path-name" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Name of the FP"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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="the self link for this FP"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="forwarders" name="forwarders" type="inventory.aai.onap.org.v13.Forwarders" />
+                       </java-attributes>
+               </java-type>            
+               <java-type name="Forwarders">
+                       <xml-root-element name="forwarders" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="forwarder" name="forwarder" type="inventory.aai.onap.org.v13.Forwarder" />
+                       </java-attributes>
+               </java-type>            
+               <java-type name="Forwarder">
+                       <xml-root-element name="forwarder"/>
+                       <xml-properties>
+                               <xml-property name="indexedProps" value="sequence"/>
+                               <xml-property name="description" value="Entity describing a sequenced segment of forwarding path"/>
+                               <xml-property name="container" value="forwarders" />
+                               <xml-property name="dependentOn" value="forwarding-path" />
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element java-attribute="sequence" name="sequence" required="true" type="java.lang.Integer" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of this segmentation"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="forwarderRole" name="forwarder-role" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ingress, intermediate, egress"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-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="ForwarderEvcs">
+                       <xml-root-element name="forwarder-evcs"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="forwarderEvc" name="forwarder-evc" type="inventory.aai.onap.org.v13.ForwarderEvc"/>
+                       </java-attributes>
+               </java-type>    
+               <java-type name="ForwarderEvc">
+                       <xml-root-element name="forwarder-evc"/>
+                       <java-attributes>
+                               <xml-element java-attribute="forwarderEvcId" name="forwarder-evc-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Key for forwarder-evc object"/>
+                                       </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 from customer/ESP/ingress end of EVC, or reference to beater circuit on gateway/network/egress end of EVC" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ivlan" name="ivlan" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Internal VLAN." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="svlan" name="svlan" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="SVLAN value for ingress of egress forwarder." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cvlan" name="cvlan" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="CVLAN value for ingress of egress forwarder." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vlanMappings" name="vlan-mappings" type="inventory.aai.onap.org.v13.VlanMappings" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-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="forwarder object is an optional child object of the Configuration object." />
+                               <xml-property name="dependentOn" value="configuration" />
+                               <xml-property name="uniqueProps" value="forwarder-evc-id" />
+                               <xml-property name="container" value="forwarder-evcs" />
+                       </xml-properties>
+               </java-type>    
+               <java-type name="VlanMappings">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of vlan mappings." />
+                       </xml-properties>
+                       <xml-root-element name="vlan-mappings" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="vlanMapping" name="vlan-mapping" type="inventory.aai.onap.org.v13.VlanMapping" />
+                       </java-attributes>
+               </java-type>            
+               <java-type name="VlanMapping">
+                       <xml-root-element name="vlan-mapping" />
+                       <java-attributes>
+                               <xml-element java-attribute="vlanMappingId" name="vlan-mapping-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Key for vlan-mapping object." />                                
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="uniCvlan" name="uni-cvlan" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="CVLAN value from the UNI/ingress side of the SAREA gateway access device." />                           
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="nniSvlan" name="nni-svlan" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="SVLAN value from the NNI/egress side of the SAREA gateway access device." />                            
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="nniCvlan" name="nni-cvlan" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="CVLAN value from the NNI/egress side of the SAREA gateway access device." />                            
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ivLan" name="ivlan" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="The internal VLAN ('IVLAN') value.  Specific to Arista devices." />                             
+                                       </xml-properties>
+                               </xml-element>  
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String" />
+                       </java-attributes>      
+                       <xml-properties>
+                               <xml-property name="description" value="vlan-mapping object is an optional child object of the forwarder-evc object.  A given forwarder-evc object may have multiple vlan-mapping objects." />
+                               <xml-property name="dependentOn" value="forwarder-evc" />
+                               <xml-property name="uniqueProps" value="vlan-mapping-id" />
+                               <xml-property name="container" value="vlan-mappings" />
+                       </xml-properties>
+               </java-type>            
+               <java-type name="Evcs">
+                       <xml-root-element name="evcs" />
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="evc" name="evc" type="inventory.aai.onap.org.v13.Evc" />
+                       </java-attributes>
+               </java-type>            
+               <java-type name="Evc">
+                       <xml-root-element name="evc" />
+                       <java-attributes>
+                               <xml-element java-attribute="evcId" name="evc-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique/key field for the evc object" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="forwardingPathTopology" name="forwarding-path-topology" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Point-to-Point, Multi-Point" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cirValue" name="cir-value" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Commited Information Rate" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cirUnits" name="cir-units" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="CIR units" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="connectionDiversityGroupId" name="connection-diversity-group-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Diversity Group ID" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serviceHours" name="service-hours" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="formerly Performance Group" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="espEvcCircuitId" name="esp-evc-circuit-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="EVC Circuit ID of ESP EVC" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="espEvcCirValue" name="esp-evc-cir-value" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Committed Information Rate (For ESP)" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="espEvcCirUnits" name="esp-evc-cir-units" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="CIR units (For ESP)" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="espItuCode" name="esp-itu-code" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Identifies ESP" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="collectorPopClli" name="collector-pop-clli" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Collector POP CLLI (from the hostname of the access pnf)" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="interConnectTypeIngress" name="inter-connect-type-ingress" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Interconnect type on ingress side of EVC." />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="tagmodeAccessIngress" name="tagmode-access-ingress" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="tagode for collector side of EVC" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="tagmodeAccessEgress" name="tagmode-access-egress" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="tagMode for network side of EVC" />
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-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="evc object is an optional child object of the Configuration object." />
+                               <xml-property name="dependentOn" value="configuration" />
+                               <xml-property name="uniqueProps" value="evc-id" />
+                               <xml-property name="container" value="evcs" />
+                       </xml-properties>
+               </java-type>
+       </java-types>
+</xml-bindings>
diff --git a/aai-schema-gen/src/test/resources/oxm/serviceDesign_oxm_v13.xml b/aai-schema-gen/src/test/resources/oxm/serviceDesign_oxm_v13.xml
new file mode 100644 (file)
index 0000000..6bc8988
--- /dev/null
@@ -0,0 +1,538 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+  ============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=========================================================
+  -->
+
+<xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v13" xml-mapping-metadata-complete="true">
+       <xml-schema element-form-default="QUALIFIED">
+               <xml-ns namespace-uri="http://org.onap.aai.inventory/v13" />
+       </xml-schema>
+       <java-types>
+               <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.onap.org.v13.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.onap.org.v13.ElementChoiceSets" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.ModelElements" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.NamedQueryElements" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.NamedQueryElements" />
+                               <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v13.RelatedLookups" />
+                               <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v13.PropertyConstraints" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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="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.onap.org.v13.VnfImages" />
+                               <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v13.Services" />
+                               <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v13.ServiceCapabilities" />
+                               <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v13.Models" />
+                               <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v13.NamedQueries" />
+                       </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 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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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="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.onap.org.v13.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.onap.org.v13.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="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.onap.org.v13.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.onap.org.v13.ModelVers" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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,distribution-status" />
+                               <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="distributionStatus" name="distribution-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Distribution Status" />
+                                       </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.onap.org.v13.ModelElements" />
+                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v13.Metadata" />
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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-types>
+</xml-bindings>
diff --git a/aai-schema-gen/src/test/resources/schema-ingest.properties b/aai-schema-gen/src/test/resources/schema-ingest.properties
new file mode 100644 (file)
index 0000000..fe87a36
--- /dev/null
@@ -0,0 +1,17 @@
+# Model Driven Schema Configuration
+schema.configuration.location=N/A
+
+# Schema Nodes and Edges Configuration
+schema.nodes.location=../aai-schema/src/main/resources/onap/oxm/
+schema.edges.location=../aai-schema/src/main/resources/onap/dbedgerules/
+schema.nodes.exclusion.list=
+schema.edges.exclusion.list=
+
+# Schema Version Configuration
+schema.version.list=v10,v11,v12,v13,v14
+schema.version.depth.start=v10
+schema.version.related.link.start=v10
+schema.version.app.root.start=v11
+schema.version.namespace.change.start=v11
+schema.version.edge.label.start=v12
+schema.version.api.default=v14
index 955d228..658e5ec 100644 (file)
@@ -35,7 +35,7 @@
         <java.version>1.8</java.version>
         <start-class>org.onap.aai.schemaservice.SchemaServiceApp</start-class>
 
-        <aai.core.version>1.4.0-SNAPSHOT</aai.core.version>
+        <aai.core.version>1.4.0</aai.core.version>
 
         <spring.boot.version>1.5.15.RELEASE</spring.boot.version>
 
diff --git a/aai-schema/.gitignore b/aai-schema/.gitignore
new file mode 100644 (file)
index 0000000..2f30844
--- /dev/null
@@ -0,0 +1,2 @@
+/bin/
+/.checkstyle
diff --git a/aai-schema/LICENSE.TXT b/aai-schema/LICENSE.TXT
new file mode 100644 (file)
index 0000000..3455862
--- /dev/null
@@ -0,0 +1,17 @@
+============LICENSE_START=======================================================
+org.onap.aai
+================================================================================
+Copyright © 2017-2018 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=========================================================
diff --git a/aai-schema/pom.xml b/aai-schema/pom.xml
new file mode 100644 (file)
index 0000000..311a50b
--- /dev/null
@@ -0,0 +1,150 @@
+<?xml version="1.0"?>
+<!--
+
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 2017-2018 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=========================================================
+
+-->
+<project
+        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+        xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.onap.aai.schema-service</groupId>
+        <artifactId>schema-service</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>aai-schema</artifactId>
+    <name>aai-schema</name>
+    <version>1.0.0-SNAPSHOT</version>
+    <properties>
+        <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
+        <!-- Start of Default ONAP Schema Properties -->
+        <aai.xsd.source>src/main/resources/onap/aai_schema</aai.xsd.source>
+        <aai.bindings.source>src/main/xjb/bindings-onap.xjb</aai.bindings.source>
+        <!-- End of Default ONAP Schema Properties -->
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.onap.aai.schema-service</groupId>
+            <artifactId>aai-annotations</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.12</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>RELEASE</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>jaxb2-maven-plugin</artifactId>
+                <version>2.2</version>
+                <executions>
+                    <execution>
+                        <id>xjc</id>
+                        <goals>
+                            <goal>xjc</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
+                            <sources>
+                                <source>${aai.xsd.source}</source>
+                            </sources>
+                            <xjbSources>
+                                <xjbSource>${aai.bindings.source}</xjbSource>
+                            </xjbSources>
+                            <xjcSourceExcludeFilters>
+                                <filter
+                                        implementation="org.codehaus.mojo.jaxb2.shared.filters.pattern.PatternFileFilter">
+                                    <patterns>
+                                        <pattern>edgetagquery\.xsd</pattern>
+                                    </patterns>
+                                </filter>
+                            </xjcSourceExcludeFilters>
+                            <extension>true</extension>
+                            <arguments>
+                                <argument>-Xannotate</argument>
+                            </arguments>
+                        </configuration>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.jvnet.jaxb2_commons</groupId>
+                        <artifactId>jaxb2-basics-annotate</artifactId>
+                        <version>1.0.2</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.onap.aai.schema-service</groupId>
+                        <artifactId>aai-annotations</artifactId>
+                        <version>${project.version}</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-source-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-site-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-deploy-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.sonatype.plugins</groupId>
+                <artifactId>nexus-staging-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>false</filtering>
+                <includes>
+                    <include>**/*</include>
+                </includes>
+            </resource>
+        </resources>
+    </build>
+
+    <!-- Start of ONAP Specific Repositories -->
+    <pluginRepositories>
+        <pluginRepository>
+            <id>central</id>
+            <url>http://repo1.maven.org/maven2</url>
+        </pluginRepository>
+        <pluginRepository>
+            <id>EvoSuite</id>
+            <name>EvoSuite Repository</name>
+            <url>http://www.evosuite.org/m2</url>
+        </pluginRepository>
+    </pluginRepositories>
+    <!-- End of ONAP Specific Repositories -->
+</project>
diff --git a/aai-schema/pom.xml.versionsBackup b/aai-schema/pom.xml.versionsBackup
new file mode 100644 (file)
index 0000000..d1c554a
--- /dev/null
@@ -0,0 +1,150 @@
+<?xml version="1.0"?>
+<!--
+
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 2017-2018 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=========================================================
+
+-->
+<project
+        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+        xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.onap.aai.aai-common</groupId>
+        <artifactId>aai-common</artifactId>
+        <version>1.3.1-SNAPSHOT</version>
+    </parent>
+    <artifactId>aai-schema</artifactId>
+    <name>aai-schema</name>
+    <version>1.3.1-SNAPSHOT</version>
+    <properties>
+        <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
+        <!-- Start of Default ONAP Schema Properties -->
+        <aai.xsd.source>src/main/resources/onap/aai_schema</aai.xsd.source>
+        <aai.bindings.source>src/main/xjb/bindings-onap.xjb</aai.bindings.source>
+        <!-- End of Default ONAP Schema Properties -->
+    </properties>
+    <dependencies>
+        <dependency>
+            <groupId>org.onap.aai.aai-common</groupId>
+            <artifactId>aai-annotations</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.12</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>RELEASE</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>jaxb2-maven-plugin</artifactId>
+                <version>2.2</version>
+                <executions>
+                    <execution>
+                        <id>xjc</id>
+                        <goals>
+                            <goal>xjc</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
+                            <sources>
+                                <source>${aai.xsd.source}</source>
+                            </sources>
+                            <xjbSources>
+                                <xjbSource>${aai.bindings.source}</xjbSource>
+                            </xjbSources>
+                            <xjcSourceExcludeFilters>
+                                <filter
+                                        implementation="org.codehaus.mojo.jaxb2.shared.filters.pattern.PatternFileFilter">
+                                    <patterns>
+                                        <pattern>edgetagquery\.xsd</pattern>
+                                    </patterns>
+                                </filter>
+                            </xjcSourceExcludeFilters>
+                            <extension>true</extension>
+                            <arguments>
+                                <argument>-Xannotate</argument>
+                            </arguments>
+                        </configuration>
+                    </execution>
+                </executions>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.jvnet.jaxb2_commons</groupId>
+                        <artifactId>jaxb2-basics-annotate</artifactId>
+                        <version>1.0.2</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.onap.aai.aai-common</groupId>
+                        <artifactId>aai-annotations</artifactId>
+                        <version>${project.version}</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-source-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-site-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-deploy-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.sonatype.plugins</groupId>
+                <artifactId>nexus-staging-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>false</filtering>
+                <includes>
+                    <include>**/*</include>
+                </includes>
+            </resource>
+        </resources>
+    </build>
+
+    <!-- Start of ONAP Specific Repositories -->
+    <pluginRepositories>
+        <pluginRepository>
+            <id>central</id>
+            <url>http://repo1.maven.org/maven2</url>
+        </pluginRepository>
+        <pluginRepository>
+            <id>EvoSuite</id>
+            <name>EvoSuite Repository</name>
+            <url>http://www.evosuite.org/m2</url>
+        </pluginRepository>
+    </pluginRepositories>
+    <!-- End of ONAP Specific Repositories -->
+</project>
diff --git a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v10.xsd b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v10.xsd
new file mode 100644 (file)
index 0000000..5dbe35b
--- /dev/null
@@ -0,0 +1,6493 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://org.openecomp.aai.inventory/v10" xmlns:tns="http://org.openecomp.aai.inventory/v10" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+    jaxb:version="2.1"
+    xmlns:annox="http://annox.dev.java.net"
+    jaxb:extensionBindingPrefixes="annox">
+
+  <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="5000"/>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="5000"/>
+      </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="edge-tag-query-result">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="5000"/>
+      </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="edge-tag-query-request">
+    <xs:complexType>
+      <xs:sequence>
+        <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="5000"/>
+        <xs:element ref="tns:include-node-filter" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:secondary-filter" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="result-data">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="The URL to the specific resource")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="resource-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="search-results">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:result-data" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship-data">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Value of the attribute.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="relationship-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="A keyword provided by A&amp;AI to indicate an attribute.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="relationship-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Value of the attribute.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-to-property">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Value part of a key/value pair")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="property-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Key part of a key/value pair")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="property-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Value part of a key/value pair")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="URL to the object in A&amp;AI.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="related-to" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="URL to the object in A&amp;AI.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-data" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:related-to-property" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship-list">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:relationship" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="oam-network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/oam-networks/oam-network/{network-uuid}",requiredProps="network-uuid,network-name,cvlan-tag")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="network-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the network.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cvlan-tag" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="cvlan-id")</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.onap.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="ipv4-oam-gateway-address-prefix-length" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="oam-networks">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:oam-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dvs-switch">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/dvs-switches/dvs-switch/{switch-name}",requiredProps="switch-name,vcenter-url")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="switch-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="DVS switch name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcenter-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL used to reach the vcenter")</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.onap.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="dvs-switches">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of digital virtual switch metadata used for vmWare VCEs and GenericVnfs.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:dvs-switch" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="availability-zone">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Availability zone, a collection of compute hosts/pservers",indexedProps="availability-zone-name",dependentOn="cloud-region",container="availability-zones",uriTemplate="/availability-zones/availability-zone/{availability-zone-name}",requiredProps="availability-zone-name,hypervisor-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="availability-zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="hypervisor-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="operational-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values.")</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.onap.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="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="5000"/>
+      </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="update">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team.",requiredProps="update-node-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="update-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:update-node-key" minOccurs="0" maxOccurs="5000"/>
+        <xs:element name="update-node-uri" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:action" minOccurs="0" maxOccurs="5000"/>
+      </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" minOccurs="0"/>
+        <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="5000"/>
+        <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.onap.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.onap.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",uriTemplate="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}",requiredProps="target-pe,availability-zone-name,ctag-pool-purpose")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="target-pe" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="The Target provider edge router")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="availability-zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the availability zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ctag-pool-purpose" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Describes what the intended purpose of this pool is.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ctag-values" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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-pools">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ctag-pool" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="complex">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/cloud-infrastructure/complexes/complex/{physical-location-id}",requiredProps="physical-location-id,physical-location-type,street1,city,postal-code,country,region")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="physical-location-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="data-center-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="complex-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Gamma complex name for LCP instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="identity-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL of the keystone identity service")</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.onap.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="physical-location-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <xs:element name="street2" type="xs:string" minOccurs="0"/>
+        <xs:element name="city" type="xs:string" minOccurs="0"/>
+        <xs:element name="state" type="xs:string" minOccurs="0"/>
+        <xs:element name="postal-code" type="xs:string" minOccurs="0"/>
+        <xs:element name="country" type="xs:string" minOccurs="0"/>
+        <xs:element name="region" type="xs:string" minOccurs="0"/>
+        <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="complexes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of physical locations that can house cloud-regions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:complex" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persistent block-level storage.",indexedProps="volume-group-name,vnf-type,heat-stack-id,volume-group-id",searchable="volume-group-id,volume-group-name",dependentOn="cloud-region",container="volume-groups",uriTemplate="/volume-groups/volume-group/{volume-group-id}",requiredProps="volume-group-id,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="volume-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of volume-group.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="volume-group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the volume group.")</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.onap.aai.annotations.Metadata(description="Heat stack id corresponding to this volume-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Orchestration status of this volume-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-module-model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="helps relate the volume group to the vf-module whose components will require the volume group")</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.onap.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="volume-groups">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Ephemeral Block storage volume.",indexedProps="volume-id",dependentOn="vserver",container="volumes",uriTemplate="/volumes/volume/{volume-id}",requiredProps="volume-id,volume-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="volume-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="volume-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="volumes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of ephemeral Block storage volumes.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:volume" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-interface-ipv4-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}",requiredProps="l3-interface-ipv4-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="l3-interface-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="l3-interface-ipv4-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 32 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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-interface-ipv6-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}",requiredProps="l3-interface-ipv6-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="l3-interface-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="l3-interface-ipv6-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 128 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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="vlan">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Definition of vlan",indexedProps="vlan-interface,vlan-id-inner,vpn-key",dependentOn="l-interface",container="vlans",uriTemplate="/vlans/vlan/{vlan-interface}",requiredProps="vlan-interface,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-interface" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="String that identifies the interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.aai.annotations.Metadata(description="Outer VLAN tag")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Used to describe (the service associated with) the vlan")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="backdoor-connection" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vpn-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This indicates the customers VPN ID associated with this vlan")</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.onap.aai.annotations.Metadata(description="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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 ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l3-interface-ipv4-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vlans">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vlan" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sriov-vf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/sriov-vfs/sriov-vf/{pci-id}",requiredProps="pci-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pci-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-vlan-filter" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-mac-filter" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-vlan-strip" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="sriov-vfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of SR-IOV Virtual Functions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:sriov-vf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Logical interfaces, e.g., a vnic.",indexedProps="macaddr,interface-id,interface-name,network-name",dependentOn="generic-vnf,newvce,p-interface,vserver,lag-interface,l-interface",container="l-interfaces",uriTemplate="/l-interfaces/l-interface/{interface-name}",requiredProps="interface-name,is-port-mirrored,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="E.g., CUSTOMER, UPLINK, etc.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="v6-wan-link-ip" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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>
+        <xs:element name="interface-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Human friendly text regarding this interface.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-port-mirrored" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not port is a mirrored.")</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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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 ref="tns:vlans" minOccurs="0"/>
+        <xs:element ref="tns:sriov-vfs" minOccurs="0"/>
+        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l3-interface-ipv4-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l-interfaces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vserver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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-id,vserver-name,vserver-name2",dependentOn="tenant",container="vservers",uriTemplate="/vservers/vserver/{vserver-id}",requiredProps="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vserver-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vserver-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of vserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vserver-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Alternative name of vserver")</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.onap.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="vserver-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-closed-loop-disabled" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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: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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tenant">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack tenant",nameProps="tenant-name",indexedProps="tenant-name,tenant-id",searchable="tenant-id,tenant-name",dependentOn="cloud-region",container="tenants",uriTemplate="/tenants/tenant/{tenant-id}",requiredProps="tenant-id,tenant-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="tenant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Readable name of tenant")</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.onap.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: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.onap.aai.annotations.Metadata(description="Collection of openstack tenants.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:tenant" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="flavor">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack flavor.",nameProps="flavor-name",indexedProps="flavor-name,flavor-id",dependentOn="cloud-region",container="flavors",uriTemplate="/flavors/flavor/{flavor-id}",requiredProps="flavor-id,flavor-name,flavor-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="flavor-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="flavor-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Flavor name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-vcpus" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Number of CPUs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-ram" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Amount of memory")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-disk" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Disk space")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-ephemeral" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Amount of ephemeral disk space")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-swap" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="amount of swap space allocation")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-is-public" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="flavor-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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>
+              <annox:annotate target="field">@org.onap.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="flavors">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack flavors.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:flavor" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="group-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack group-assignment used to store exclusivity groups (EG).",nameProps="group-name",indexedProps="group-id,group-type,group-name",searchable="group-id,group-name",dependentOn="cloud-region",container="group-assignments",uriTemplate="/group-assignments/group-assignment/{group-id}",requiredProps="group-id,group-type,group-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="group-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Group description - description of the group")</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.onap.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="group-assignments">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack group assignments")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:group-assignment" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="snapshot">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/snapshots/snapshot/{snapshot-id}",requiredProps="snapshot-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="snapshot-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="snapshot-os-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="This field contains the UUID of the previous snapshot (if any).")</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.onap.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="snapshots">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack snapshots")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:snapshot" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="metadatum">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Key/value pairs",indexedProps="metaname",dependentOn="tenant,image,service-instance,connector,model",container="metadata",uriTemplate="/metadata/metadatum/{metaname}",requiredProps="metaname,metaval")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="metaname" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true)</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="metaval" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="metadata">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="image">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack image.",nameProps="image-name",indexedProps="application,image-name,application-vendor,image-id,application-version",dependentOn="cloud-region",container="images",uriTemplate="/images/image/{image-id}",requiredProps="image-id,image-name,image-os-distro,image-os-version,image-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="image-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="image-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Image name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-architecture" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Operating system architecture.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-os-distro" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="image-os-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="The version of the application.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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:metadata" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="images">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collectio of Openstack images.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:image" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="availability-zones">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of availability zones")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:availability-zone" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-region">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="cloud-region designates an installation of a cloud cluster or region or instantiation",indexedProps="cloud-owner,cloud-region-id,cloud-type,owner-defined-type",nameProps="owner-defined-type",container="cloud-regions",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}",requiredProps="cloud-owner,cloud-region-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cloud-owner" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="cloud-region-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="cloud-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Type of the cloud (e.g., openstack)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="owner-defined-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Cloud-owner defined type indicator (e.g., dcp, lcp)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-region-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Software version employed at the site.  NOTE - THIS FIELD IS NOT KEPT UP TO DATE.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="identity-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL of the keystone identity service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-zone" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Zone where the cloud is homed.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="complex-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="complex name for cloud-region instance.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.")</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.onap.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: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:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:cloud-region" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-profile">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Network profile populated by SDN-GP for SNMP",indexedProps="nm-profile-name",container="network-profiles",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}",requiredProps="nm-profile-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="nm-profile-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique name of network profile.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="community-string" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Encrypted SNMP community string")</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.onap.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="network-profiles">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="p-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Physical interface (e.g., nic)",indexedProps="interface-name,prov-status",nameProps="prov-status",dependentOn="vpls-pe,pserver,pnf",container="p-interfaces",uriTemplate="/p-interfaces/p-interface/{interface-name}",requiredProps="interface-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name that identifies the physical interface")</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.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Nature of the services and connectivity on this port.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equipment-identifier" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CLEI or other specification for p-interface hardware.")</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.onap.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.onap.aai.annotations.Metadata(description="Indicates the physical properties of the interface.")</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.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Link aggregate interface",indexedProps="interface-name,interface-id,interface-role",dependentOn="generic-vnf,pserver,vpls-pe,pnf",container="lag-interfaces",uriTemplate="/lag-interfaces/lag-interface/{interface-name}",requiredProps="interface-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name that identifies the link aggregate interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="interface-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Human friendly text regarding this 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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</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.onap.aai.annotations.Metadata(description="ID of 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.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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 ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-interfaces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of link aggregate interfaces.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:lag-interface" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pserver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,inv-status",searchable="hostname,pserver-name2,pserver-id,ipv4-oam-address",uniqueProps="hostname",container="pservers",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/pservers/pserver/{hostname}",requiredProps="hostname,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hostname" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ptnii-equip-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="PTNII name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="number-of-cpus" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Number of cpus")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="disk-in-gigabytes" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Disk size, in GBs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ram-in-megabytes" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="RAM size, in MBs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-model" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Fully-qualified domain name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pserver-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</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.onap.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="serial-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Serial number, may be queried")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 OAM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pserver-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ID of Pserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="internet-topology" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="internet topology of Pserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="purpose of pserver")</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.onap.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]")</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="pservers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of compute hosts.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:pserver" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="virtual-data-center">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}",requiredProps="vdc-id,vdc-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vdc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of the vdc")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdc-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the virtual data center")</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.onap.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="virtual-data-centers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:virtual-data-center" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-infrastructure">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for cloud infrastructure.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <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.onap.aai.annotations.Metadata(description="Collection of resource instances used to connect a variety of disparate inventory widgets",indexedProps="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version",container="connectors",namespace="business",uriTemplate="/business/connectors/connector/{resource-instance-id}",requiredProps="resource-instance-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="resource-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique id of resource 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.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</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.onap.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.onap.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="connectors">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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 ref="tns:connector" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tunnel-xconnect">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted",uniqueProps="id",indexedProps="id",dependentOn="allotted-resource",container="tunnel-xconnects",uriTemplate="/tunnel-xconnects/tunnel-xconnect/{id}",requiredProps="id,bandwidth-up-wan1,bandwidth-down-wan1,bandwidth-up-wan2,bandwidth-down-wan2")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Allotted Resource id UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-up-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN uplink bandwidth for WAN1")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-down-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN downlink bandwidth for WAN1")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-up-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN uplink bandwidth for WAN2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-down-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN downlink bandwidth for WAN2")</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.onap.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="tunnel-xconnects">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="This object is used to store the specific tunnel cross connect aspects of an allotted resource")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:tunnel-xconnect" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="allotted-resource">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents a slice or partial piece of a resource that gets separately allotted",nameProps="description",uniqueProps="id",indexedProps="id,model-invariant-id,model-version-id,type,role",dependentOn="service-instance",container="allotted-resources",uriTemplate="/allotted-resources/allotted-resource/{id}",requiredProps="id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Allotted Resource id UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The descriptive information assigned to this allotted resource instance")</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.onap.aai.annotations.Metadata(description="Link back to more information in the controller")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</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.onap.aai.annotations.Metadata(description="Concurrency 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.onap.aai.annotations.Metadata(description="Orchestration status")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Generic description of the type of allotted resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role in the network that this resource will be providing.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:tunnel-xconnects" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="allotted-resources">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="This object is used to store slices of services being offered")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:allotted-resource" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-instance">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a service",indexedProps="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status",nameProps="service-instance-name",searchable="service-instance-id,service-instance-name",uniqueProps="service-instance-id",dependentOn="service-subscription",container="service-instances",uriTemplate="/service-instances/service-instance/{service-instance-id}",requiredProps="service-instance-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this instance of a service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-instance-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</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.onap.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.onap.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="bandwidth-total" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicates the total bandwidth to be used for this service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-up-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="bandwidth-down-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="bandwidth-up-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="bandwidth-down-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vhn-portal-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL customers will use to access the vHN Portal.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-instance-location-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Orchestration status of this service.")</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:allotted-resources" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-instances">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of service instances")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:service-instance" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-subscription">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Object that group service instances.",indexedProps="service-type",dependentOn="customer",container="service-subscriptions",crossEntityReference="service-instance,service-type",uriTemplate="/service-subscriptions/service-subscription/{service-type}",requiredProps="service-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="temp-ub-sub-account-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-subscriptions">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of objects that group service instances.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:service-subscription" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="customer">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="global-customer-id,subscriber-name",uniqueProps="global-customer-id",container="customers",namespace="business",uriTemplate="/business/customers/customer/{global-customer-id}",requiredProps="global-customer-id,subscriber-name,subscriber-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="global-customer-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="subscriber-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="customers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="business">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for business related constructs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:connectors" minOccurs="0"/>
+        <xs:element ref="tns:customers" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnf-image">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/service-design-and-creation/vnf-images/vnf-image/{att-uuid}",requiredProps="vnf-image-uuid,application,application-vendor")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-image-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of this asset")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="vnf-images">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:vnf-image" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Stand-in for service model definitions.  Likely to be deprecated in favor of models from ASDC.  Does not strictly map to ASDC services.",indexedProps="service-description,service-id",container="services",namespace="service-design-and-creation",uriTemplate="/service-design-and-creation/services/service/{service-id}",requiredProps="service-id,service-description")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="service-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Description of the service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="service version")</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="services">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-capability">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}",requiredProps="service-type,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="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.")</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.onap.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="service-capabilities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="element-choice-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/element-choice-sets/element-choice-set/{element-choice-set-uuid}",requiredProps="element-choice-set-uuid,element-choice-set-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="element-choice-set-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="constrained-element-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}",requiredProps="constrained-element-set-uuid,constraint-type,check-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="constrained-element-set-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="constraint-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="check-type" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-constraint">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/model-constraints/model-constraint/{model-constraint-uuid}",requiredProps="model-constraint-uuid,constrained-element-set-uuid-to-replace")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-constraint-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <xs:element ref="tns:constrained-element-sets" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-constraints">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:model-constraint" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-element">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/model-elements/model-element/{model-element-uuid}",requiredProps="model-element-uuid,new-data-del-flag,cardinality")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-element-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-ver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models",nameProps="model-name",indexedProps="model-version-id,model-name,model-version",uniqueProps="model-version-id",container="model-vers",uriTemplate="/model-vers/model-ver/{model-version-id}",requiredProps="model-version-id,model-name,model-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="model-vers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:model-ver" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version",nameProps="model-type",indexedProps="model-invariant-id,model-type",uniqueProps="model-invariant-id",container="models",namespace="service-design-and-creation",uriTemplate="/service-design-and-creation/models/model/{model-invariant-id}",requiredProps="model-invariant-id,model-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-vers" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-lookup">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="related-lookup-uuid",indexedProps="related-lookup-uuid",allowDirectRead="true",allowDirectWrite="false",container="related-lookups",uriTemplate="/related-lookups/related-lookup/{related-lookup-uuid}",requiredProps="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="related-lookup-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="source-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-node-property" type="xs:string" minOccurs="0"/>
+        <xs:element name="target-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="target-node-property" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-collect-list" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="property-constraint">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="property-constraint-uuid",indexedProps="property-constraint-uuid",allowDirectRead="true",allowDirectWrite="false",container="property-constraints",uriTemplate="/property-constraints/property-constraint/{property-constraint-uuid}",requiredProps="property-constraint-uuid,constraint-type,property-name,property-value")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="property-constraint-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="constraint-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-value" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query-element">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="named-query-element-uuid",indexedProps="named-query-element-uuid",allowDirectRead="true",allowDirectWrite="false",container="named-query-elements",uriTemplate="/named-query-elements/named-query-element/{named-query-element-uuid}",requiredProps="named-query-element-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="named-query-element-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/service-design-and-creation/named-queries/named-query/{named-query-uuid}",requiredProps="named-query-uuid,named-query-name,named-query-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="named-query-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true)</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="named-query-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="named-query-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="required-input-params" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="required-input-param" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+            </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-design-and-creation">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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.onap.aai.annotations.Metadata(description="Logical links generally connect l-interfaces but are used to express logical connectivity between two points",indexedProps="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose",uniqueProps="link-id",container="logical-links",namespace="network",searchable="link-name",uriTemplate="/network/logical-links/logical-link/{link-name}",requiredProps="link-name,link-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Indication of operational status of the logical link.")</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.onap.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="link-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="UUID of the logical-link, SDNC generates this.")</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.onap.aai.annotations.Metadata(description="Circuit id")</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.onap.aai.annotations.Metadata(description="Reason for this entity, role it is playing")</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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="class-of-service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="cos",dependentOn="site-pair",container="classes-of-service",uriTemplate="/classes-of-service/class-of-service/{cos}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cos" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="site-pair-id",uniqueProps="site-pair-id",dependentOn="routing-instance",container="site-pairs",uriTemplate="/site-pairs/site-pair/{site-pair-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="site-pair-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="The type of destinatination equipment. Could be Router, UCPE, 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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="routing-instance">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="routing-instance-id",uniqueProps="routing-instance-id",dependentOn="site-pair-set",container="routing-instances",uriTemplate="/routing-instances/routing-instance/{routing-instance-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="routing-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/site-pair-sets/site-pair-set/{site-pair-set-id}",requiredProps="site-pair-set-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="site-pair-set-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="route-target">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Route target information",container="route-targets",dependentOn="vpn-binding",canBeLinked="true",uriTemplate="/route-targets/route-target/{global-route-target}/{route-target-role}",requiredProps="global-route-target,route-target-role")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="global-route-target" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Number used to identify an RT, globally unique in the network")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-target-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Role assigned to this route target")</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.onap.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="route-targets">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of route target information")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:route-target" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpn-binding">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="VPN binding",nameProps="vpn-name,vpn-type",indexedProps="vpn-name,vpn-id,vpn-type",searchable="vpn-id,vpn-name",uniqueProps="vpn-id",container="vpn-bindings",namespace="network",uriTemplate="/network/vpn-bindings/vpn-binding/{vpn-id}",requiredProps="vpn-id,vpn-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vpn-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="VPN Name")</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.onap.aai.annotations.Metadata(description="the platform associated with the VPN example AVPN, Mobility")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Type of the vpn, should be taken from enumerated/valid values")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-distinguisher" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network.")</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.onap.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:route-targets" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpls-pe">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="VPLS Provider Edge routers.",indexedProps="prov-status,equipment-name",container="vpls-pes",namespace="network",uriTemplate="/network/vpls-pes/vpls-pe/{equipment-name}",requiredProps="equipment-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="equipment-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="multicast-configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="multicast-configuration-id",uniqueProps="multicast-configuration-id",container="multicast-configurations",namespace="network",uriTemplate="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="multicast-configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="protocol of multicast configuration")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="rp-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cvlan-tag-entry">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(dependentOn="port-group",indexedProps="cvlan-tag",container="cvlan-tags",uriTemplate="/cvlan-tags/cvlan-tag/{cvlan-tag}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cvlan-tag" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="port-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/port-groups/port-group/{interface-id}",requiredProps="interface-id,orchestration-status")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="license">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Metadata for license group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce",container="licenses",uriTemplate="/licenses/license/{group-uuid}/{resource-uuid}",requiredProps="group-uuid,resource-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID for the license group the resource belongs to, should be uuid.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of a license resource. ")</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.onap.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="licenses">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:license" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="entitlement">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Metadata for entitlement group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce",container="entitlements",uriTemplate="/entitlements/entitlement/{group-uuid}/{resource-uuid}",requiredProps="group-uuid,resource-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID for the entitlement group the resource comes from, should be uuid.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of an entitlement resource. ")</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.onap.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="entitlements">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Entitlements, keyed by group-uuid and resource-uuid, related to license management")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:entitlement" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vce">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/vces/vce/{vnf-id}",requiredProps="vnf-id,vnf-name,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED.")</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.onap.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.onap.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-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="OBSOLETE -  see child relationships")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:port-groups" minOccurs="0"/>
+        <xs:element ref="tns:licenses" minOccurs="0"/>
+        <xs:element ref="tns:entitlements" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnfc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",searchable="vnfc-name",container="vnfcs",namespace="network",uriTemplate="/network/vnfcs/vnfc/{vnfc-name}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnfc-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="function code",dbAlias="nfc-naming-code")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnfc-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="type",dbAlias="nfc-function")</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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="subnet">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="subnet-id,subnet-name",nameProps="subnet-name",uniqueProps="subnet-id",dependentOn="l3-network",container="subnets",uriTemplate="/subnets/subnet/{subnet-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="subnet-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ctag-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="vlan-id-inner",dependentOn="l3-network",container="ctag-assignments",uriTemplate="/ctag-assignments/ctag-assignment/{vlan-id-inner}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="segmentation-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack segmentation assignment.",indexedProps="segmentation-id",dependentOn="l3-network",container="segmentation-assignments",uriTemplate="/segmentation-assignments/segmentation-assignment/{segmentation-id}",requiredProps="segmentation-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="segmentation-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Generic network definition",nameProps="network-name",indexedProps="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",searchable="network-id,network-name",uniqueProps="network-id",container="l3-networks",namespace="network",uriTemplate="/network/l3-networks/l3-network/{network-id}",requiredProps="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Unique identifier of service from ASDC.  Does not strictly map to ASDC services.  SOON TO BE DEPRECATED")</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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Contrail FQDN for the network")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-shared-network" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-external-network" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.")</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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-networks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:l3-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-policy">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(nameProps="network-policy-fqdn",indexedProps="network-policy-id,network-policy-fqdn",searchable="network-policy-id,network-policy-fqdn",uniqueProps="network-policy-id",container="network-policies",namespace="network",uriTemplate="/network/network-policies/network-policy/{network-policy-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-policy-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID representing unique key to this instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-policy-fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Contrail FQDN for the policy")</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.onap.aai.annotations.Metadata(description="ID for the openStack Heat 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.onap.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="network-policies">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:network-policy" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vf-module">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="a deployment unit of VNFCs",indexedProps="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",searchable="vf-module-id,vf-module-name",dependentOn="generic-vnf",container="vf-modules",uriTemplate="/vf-modules/vf-module/{vf-module-id}",requiredProps="vf-module-id,is-base-vf-module")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vf-module-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of vf-module.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-module-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of vf-module")</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.onap.aai.annotations.Metadata(description="Heat stack id corresponding to this instance.")</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.onap.aai.annotations.Metadata(description="orchestration status of this vf-module, mastered by MSO")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-base-vf-module" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="the Contrail unique ID for a service-instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="module-index" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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")</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.onap.aai.annotations.Metadata(description="Path to the controller object.")</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="vf-modules">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:vf-module" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generic-vnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role",searchable="vnf-id,vnf-name,vnf-name2",uniqueProps="vnf-id",container="generic-vnfs",namespace="network",extendsFrom="vnf",containsSuggestibleProps="true",suggestionAliases="VNFs",uriTemplate="/network/generic-vnfs/generic-vnf/{vnf-id}",requiredProps="vnf-id,vnf-type,in-maint,is-closed-loop-disabled")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Unique identifier of service, does not necessarily map to ASDC service models.  SOON TO BE DEPRECATED")</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.onap.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.onap.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.",suggestibleOnSearch="true")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.  Valid values are in-service-path and out-of-service-path.")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.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.onap.aai.annotations.Metadata(description="Orchestration status of this VNF, used by MSO.",suggestibleOnSearch="true")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="identifier of managed by ATT or 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.onap.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.onap.aai.annotations.Metadata(description="v4 Loopback0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nm-lan-v6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 Loopback address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="management-v6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 management address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcpu" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcpu-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only in some usecases")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vmemory" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vmemory-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only in some usecases")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdisk" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdisk-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only in some usecases")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-closed-loop-disabled" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD.")</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.onap.aai.annotations.Metadata(description="indicates whether generic-vnf access uses SSH")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="entitlement-assignment-group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the Entitlement group used for licensing VNFs, OBSOLETE -  See child relationships.")</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.onap.aai.annotations.Metadata(description="UUID of the specific entitlement resource.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="license-assignment-group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the license assignment group.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="license-key-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the actual license resource.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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="as-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="as-number of the VNF")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="regional-resource-subzone" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="represents sub zone of the rr plane")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Generic description of the type of NF")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-function" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English description of Network function that the specific VNF deployment is providing")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role in the network that this model will be providing")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-naming-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="string assigned to this model used for naming purposes")</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.onap.aai.annotations.Metadata(description="Path to the controller object.")</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:element ref="tns:licenses" minOccurs="0"/>
+        <xs:element ref="tns:entitlements" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generic-vnfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of VNFs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:generic-vnf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-link">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="LAG links can connect lag-interfaces",indexedProps="link-name",container="lag-links",namespace="network",uriTemplate="/network/lag-links/lag-link/{link-name}",requiredProps="link-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Alphabetical concatenation of lag-interface names")</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.onap.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="lag-links">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of link aggregation connections")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:lag-link" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="newvce">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/newvces/newvce/{vnf-id2}",requiredProps="vnf-id2,vnf-name,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.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="operational-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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="newvces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:newvce" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE.",indexedProps="pnf-name,orchestration-status,inv-status",searchable="pnf-name",uniqueProps="pnf-name",container="pnfs",namespace="network",uriTemplate="/network/pnfs/pnf/{pnf-name}",requiredProps="pnf-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="unique name of Physical Network Function.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="name of Physical Network Function.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-name2-source" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="source of name2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="id of pnf")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-model" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</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.onap.aai.annotations.Metadata(description="identifier of managed by ATT or customer")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="sw-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="frame-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="serial-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Serial number of the device")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 OAM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI.")</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.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Nf Role is the role performed by this instance in the network.")</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="pnfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="physical-link">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",searchable="link-name,circuit-id",uriTemplate="/network/physical-links/physical-link/{link-name}",requiredProps="link-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-provider-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the service Provider on this link.")</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.onap.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="physical-links">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vig-server">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/vig-servers/vig-server/{vig-address-type}",requiredProps="vig-address-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vig-address-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ipaddress-v4-vig" type="xs:string" minOccurs="0" maxOccurs="5000">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v4 IP of the vig server")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-vig" type="xs:string" minOccurs="0" maxOccurs="5000">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 IP of the vig server")</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.onap.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="vig-servers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vig-server" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ipsec-configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}",requiredProps="ipsec-configuration-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="ipsec-configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID of this configuration")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="requested-vig-address-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="requested-encryption-strength" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="requested-dmz-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="shared-dmz-network-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Network address of shared DMZ")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="requested-customer-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ike-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="can be 1 or 2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-authentication" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Contains values like md5, sha1, sha256, sha384")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-encryption" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-dh-group" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-am-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-am-password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="pre-shared key for the above group name ")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-sa-lifetime" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Lifetime for IKEv1 SA")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-authentication" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="md5, sha1, sha256, sha384")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-encryption" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ipsec-sa-lifetime" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Life time for IPSec SA")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-pfs" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="enable PFS or not")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="xauth-userid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="user ID for xAuth, sm-user,nmteHostName")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="xauth-user-password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Encrypted using the Juniper $9$ algorithm")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dpd-interval" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The time between DPD probe")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dpd-frequency" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Maximum number of DPD before claiming the tunnel is down")</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.onap.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:vig-servers" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ipsec-configurations">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ipsec-configuration" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="route-table-reference">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/route-table-references/route-table-reference/{route-table-reference-id}",requiredProps="route-table-reference-id,route-table-reference-fqdn")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="route-table-reference-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="route-table-reference-fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="route-table-references">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack route table references")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:route-table-reference" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="General mechanism for grouping instances",nameProps="description",uniqueProps="id",searchable="id,description",indexedProps="id,description,type,sub-type",container="instance-groups",namespace="network",uriTemplate="/network/instance-groups/instance-group/{id}",requiredProps="id,description,type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Instance Group ID, UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Descriptive text to help identify the usage of this instance-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Only valid value today is lower case ha for high availability",dbAlias="instance-group-type")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="sub-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]")</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.onap.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="instance-groups">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack route table references")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:instance-group" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="zone">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="A zone is a grouping of assets in a location homing to the same connections into the CBB",nameProps="zone-name",indexedProps="zone-id,design-type,zone-context",uniqueProps="zone-id",container="zones",namespace="network",uriTemplate="/network/zones/zone/{zone-id}",requiredProps="zone-id,zone-name,design-type,zone-context")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="zone-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Code assigned by AIC to the zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English name associated with the zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="design-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Design of zone [Medium/Large…]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="zone-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Context of zone [production/test]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Status of a zone.")</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.onap.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="zones">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of zones")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:zone" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for network inventory resources.")</annox:annotate>
+        </xs:appinfo>
+      </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: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:element ref="tns:instance-groups" minOccurs="0"/>
+        <xs:element ref="tns:zones" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="reserved-prop-names">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Internal map to define some reserved properties of a vertex",uniqueProps="aai-unique-key",indexedProps="aai-unique-key,source-of-truth,aai-node-type,aai-uri")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="last-mod-source-of-truth" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-created-ts" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="aai-unique-key" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-last-mod-ts" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="source-of-truth" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-uri" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="edge-prop-names">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Internal map to define the properties of an edge and interpret the map EdgeRules",edgeInfo="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="edgeLabel" type="xs:string" minOccurs="0"/>
+        <xs:element name="direction" type="xs:string" minOccurs="0"/>
+        <xs:element name="multiplicityRule" type="xs:string" minOccurs="0"/>
+        <xs:element name="contains-other-v" type="xs:string" minOccurs="0"/>
+        <xs:element name="delete-other-v" type="xs:string" minOccurs="0"/>
+        <xs:element name="SVC-INFRA" type="xs:string" minOccurs="0"/>
+        <xs:element name="prevent-delete" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="aai-internal">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:reserved-prop-names" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:edge-prop-names" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="notification-event-header">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0"/>
+        <xs:element name="timestamp" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="domain" type="xs:string" minOccurs="0"/>
+        <xs:element name="sequence-number" type="xs:string" minOccurs="0"/>
+        <xs:element name="severity" type="xs:string" minOccurs="0"/>
+        <xs:element name="event-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="version" type="xs:string" minOccurs="0"/>
+        <xs:element name="action" type="xs:string" minOccurs="0"/>
+        <xs:element name="entity-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="top-entity-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="entity-link" type="xs:string" minOccurs="0"/>
+        <xs:element name="status" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="notification-event">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="cambria.partition" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:notification-event-header" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="overloaded-model">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Allows for legacy POST of old-style and new-style models",requiredProps="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-name-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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-vers" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="query-parameters">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="QueryParameters for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:named-query" minOccurs="0"/>
+        <xs:element ref="tns:overloaded-model" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-filter">
+    <xs:complexType>
+      <xs:sequence/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-filters">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="InstanceFilters for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:instance-filter" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="secondary-filt">
+    <xs:complexType>
+      <xs:sequence/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="secondary-filts">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="SecondaryFilts for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:secondary-filt" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-and-named-query-search">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:query-parameters" minOccurs="0"/>
+        <xs:element ref="tns:instance-filters" minOccurs="0"/>
+        <xs:element ref="tns:secondary-filts" minOccurs="0"/>
+        <xs:element name="top-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="secondary-filter-cut-point" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="properties">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Property holder for query properties or instance properties")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <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-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:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inventory-response-item">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Inventory item for response list",container="inventory-response-items")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-name" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:extra-properties" minOccurs="0"/>
+        <xs:element ref="tns:inventory-response-items" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inventory-response-items">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Container for inventory items in response list",container="response-list")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:inventory-response-item" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="response-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Response container for the results of a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:inventory-response-items" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Abstract vnf class",indexedProps="vnf-id",uniqueProps="vnf-id",inheritors="vce,generic-vnf",isAbstract="true",requiredProps="vnf-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:element name="inventory">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:search" minOccurs="0"/>
+        <xs:element ref="tns:actions" minOccurs="0"/>
+        <xs:element ref="tns:cloud-infrastructure" minOccurs="0"/>
+        <xs:element ref="tns:business" minOccurs="0"/>
+        <xs:element ref="tns:service-design-and-creation" minOccurs="0"/>
+        <xs:element ref="tns:network" minOccurs="0"/>
+        <xs:element ref="tns:aai-internal" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
diff --git a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v11.xsd b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v11.xsd
new file mode 100644 (file)
index 0000000..0a10746
--- /dev/null
@@ -0,0 +1,7668 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://org.openecomp.aai.inventory/v11" xmlns:tns="http://org.openecomp.aai.inventory/v11" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+    jaxb:version="2.1"
+    xmlns:annox="http://annox.dev.java.net"
+    jaxb:extensionBindingPrefixes="annox">
+
+  <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="5000"/>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="5000"/>
+      </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="edge-tag-query-result">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="5000"/>
+      </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="edge-tag-query-request">
+    <xs:complexType>
+      <xs:sequence>
+        <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="5000"/>
+        <xs:element ref="tns:include-node-filter" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:secondary-filter" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="result-data">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="The URL to the specific resource")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="resource-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="search-results">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:result-data" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship-data">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Value of the attribute.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="relationship-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="A keyword provided by A&amp;AI to indicate an attribute.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="relationship-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Value of the attribute.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-to-property">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Value part of a key/value pair")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="property-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Key part of a key/value pair")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="property-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Value part of a key/value pair")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="URL to the object in A&amp;AI.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="related-to" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="URL to the object in A&amp;AI.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-data" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:related-to-property" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship-list">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:relationship" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="oam-network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/oam-networks/oam-network/{network-uuid}",requiredProps="network-uuid,network-name,cvlan-tag")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="network-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the network.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cvlan-tag" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="cvlan-id")</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.onap.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="ipv4-oam-gateway-address-prefix-length" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="oam-networks">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:oam-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dvs-switch">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/dvs-switches/dvs-switch/{switch-name}",requiredProps="switch-name,vcenter-url")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="switch-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="DVS switch name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcenter-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL used to reach the vcenter")</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.onap.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="dvs-switches">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of digital virtual switch metadata used for vmWare VCEs and GenericVnfs.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:dvs-switch" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="availability-zone">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Availability zone, a collection of compute hosts/pservers",indexedProps="availability-zone-name",dependentOn="cloud-region",container="availability-zones",uriTemplate="/availability-zones/availability-zone/{availability-zone-name}",requiredProps="availability-zone-name,hypervisor-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="availability-zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="hypervisor-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="operational-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values.")</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.onap.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="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="5000"/>
+      </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="update">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team.",requiredProps="update-node-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="update-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:update-node-key" minOccurs="0" maxOccurs="5000"/>
+        <xs:element name="update-node-uri" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:action" minOccurs="0" maxOccurs="5000"/>
+      </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" minOccurs="0"/>
+        <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="5000"/>
+        <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.onap.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.onap.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",uriTemplate="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}",requiredProps="target-pe,availability-zone-name,ctag-pool-purpose")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="target-pe" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="The Target provider edge router")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="availability-zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the availability zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ctag-pool-purpose" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Describes what the intended purpose of this pool is.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ctag-values" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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-pools">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ctag-pool" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="complex">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/cloud-infrastructure/complexes/complex/{physical-location-id}",requiredProps="physical-location-id,physical-location-type,street1,city,postal-code,country,region")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="physical-location-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="data-center-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="complex-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Gamma complex name for LCP instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="identity-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL of the keystone identity service")</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.onap.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="physical-location-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <xs:element name="street2" type="xs:string" minOccurs="0"/>
+        <xs:element name="city" type="xs:string" minOccurs="0"/>
+        <xs:element name="state" type="xs:string" minOccurs="0"/>
+        <xs:element name="postal-code" type="xs:string" minOccurs="0"/>
+        <xs:element name="country" type="xs:string" minOccurs="0"/>
+        <xs:element name="region" type="xs:string" minOccurs="0"/>
+        <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="complexes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of physical locations that can house cloud-regions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:complex" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persistent block-level storage.",indexedProps="volume-group-name,vnf-type,heat-stack-id,volume-group-id",searchable="volume-group-id,volume-group-name",dependentOn="cloud-region",container="volume-groups",uriTemplate="/volume-groups/volume-group/{volume-group-id}",requiredProps="volume-group-id,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="volume-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of volume-group.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="volume-group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the volume group.")</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.onap.aai.annotations.Metadata(description="Heat stack id corresponding to this volume-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Orchestration status of this volume-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-module-model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="helps relate the volume group to the vf-module whose components will require the volume group")</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.onap.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="volume-groups">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Ephemeral Block storage volume.",indexedProps="volume-id",dependentOn="vserver",container="volumes",uriTemplate="/volumes/volume/{volume-id}",requiredProps="volume-id,volume-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="volume-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="volume-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="volumes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of ephemeral Block storage volumes.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:volume" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-interface-ipv4-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,vnfc",uriTemplate="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}",requiredProps="l3-interface-ipv4-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="l3-interface-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="l3-interface-ipv4-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 32 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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-interface-ipv6-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,vnfc",uriTemplate="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}",requiredProps="l3-interface-ipv6-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="l3-interface-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="l3-interface-ipv6-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 128 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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="vlan">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Definition of vlan",indexedProps="vlan-interface,vlan-id-inner,vpn-key",dependentOn="l-interface",container="vlans",uriTemplate="/vlans/vlan/{vlan-interface}",requiredProps="vlan-interface,in-maint,is-ip-unnumbered")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-interface" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="String that identifies the interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.aai.annotations.Metadata(description="Outer VLAN tag")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Used to describe (the service associated with) the vlan")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="backdoor-connection" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vpn-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This indicates the customers VPN ID associated with this vlan")</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.onap.aai.annotations.Metadata(description="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV].")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-ip-unnumbered" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="Flag indicating the interface uses the IP Unnumbered configuration.")</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="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vlans">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vlan" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sriov-vf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/sriov-vfs/sriov-vf/{pci-id}",requiredProps="pci-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pci-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-vlan-filter" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-mac-filter" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-vlan-strip" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="sriov-vfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of SR-IOV Virtual Functions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:sriov-vf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Logical interfaces, e.g., a vnic.",indexedProps="macaddr,interface-id,interface-name,network-name",dependentOn="generic-vnf,newvce,p-interface,vserver,lag-interface,l-interface",container="l-interfaces",uriTemplate="/l-interfaces/l-interface/{interface-name}",requiredProps="interface-name,is-port-mirrored,in-maint,is-ip-unnumbered")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="E.g., CUSTOMER, UPLINK, etc.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="v6-wan-link-ip" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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>
+        <xs:element name="interface-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Human friendly text regarding this interface.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-port-mirrored" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not port is a mirrored.")</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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV].")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-ip-unnumbered" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="Flag indicating the interface uses the IP Unnumbered configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="allowed-address-pairs" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Freeform field for storing an ip address, list of ip addresses or a subnet block.")</annox:annotate>
+            </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:l-interfaces" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l3-interface-ipv4-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l-interfaces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vserver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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-id,vserver-name,vserver-name2",dependentOn="tenant",container="vservers",uriTemplate="/vservers/vserver/{vserver-id}",requiredProps="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vserver-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vserver-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of vserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vserver-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Alternative name of vserver")</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.onap.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="vserver-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-closed-loop-disabled" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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: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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tenant">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack tenant",nameProps="tenant-name",indexedProps="tenant-name,tenant-id,tenant-context",searchable="tenant-id,tenant-name",dependentOn="cloud-region",container="tenants",uriTemplate="/tenants/tenant/{tenant-id}",requiredProps="tenant-id,tenant-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="tenant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Readable name of tenant")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tenant-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This field will store the tenant context.")</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.onap.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: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.onap.aai.annotations.Metadata(description="Collection of openstack tenants.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:tenant" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="flavor">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack flavor.",nameProps="flavor-name",indexedProps="flavor-name,flavor-id",dependentOn="cloud-region",container="flavors",uriTemplate="/flavors/flavor/{flavor-id}",requiredProps="flavor-id,flavor-name,flavor-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="flavor-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="flavor-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Flavor name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-vcpus" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Number of CPUs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-ram" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Amount of memory")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-disk" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Disk space")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-ephemeral" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Amount of ephemeral disk space")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-swap" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="amount of swap space allocation")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-is-public" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="flavor-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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>
+              <annox:annotate target="field">@org.onap.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="flavors">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack flavors.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:flavor" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="group-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack group-assignment used to store exclusivity groups (EG).",nameProps="group-name",indexedProps="group-id,group-type,group-name",searchable="group-id,group-name",dependentOn="cloud-region",container="group-assignments",uriTemplate="/group-assignments/group-assignment/{group-id}",requiredProps="group-id,group-type,group-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="group-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Group description - description of the group")</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.onap.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="group-assignments">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack group assignments")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:group-assignment" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="snapshot">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/snapshots/snapshot/{snapshot-id}",requiredProps="snapshot-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="snapshot-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="snapshot-os-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="This field contains the UUID of the previous snapshot (if any).")</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.onap.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="snapshots">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack snapshots")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:snapshot" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="metadatum">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Key/value pairs",indexedProps="metaname",dependentOn="tenant,image,service-instance,connector,model",container="metadata",uriTemplate="/metadata/metadatum/{metaname}",requiredProps="metaname,metaval")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="metaname" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true)</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="metaval" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="metadata">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="image">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack image.",nameProps="image-name",indexedProps="application,image-name,application-vendor,image-id,application-version",dependentOn="cloud-region",container="images",uriTemplate="/images/image/{image-id}",requiredProps="image-id,image-name,image-os-distro,image-os-version,image-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="image-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="image-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Image name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-architecture" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Operating system architecture.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-os-distro" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="image-os-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="The version of the application.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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:metadata" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="images">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collectio of Openstack images.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:image" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="availability-zones">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of availability zones")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:availability-zone" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-system-info">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist common address information of external systems.",indexedProps="esr-system-info-id,system-name,system-type",searchable="esr-system-info-id,system-name,system-type",container="esr-system-info-list",dependentOn="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc",requiredProps="esr-system-info-id,user-name,password,system-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="esr-system-info-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of esr system info.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="name of external system.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="type of external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vendor of external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="version of external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="url used to access external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="user-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="username used to access external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="password used to access external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="it could be vim/vnfm/thirdparty-sdnc/ems-resource/ems-performance/ems-alarm.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="protocol" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="protocol of third party SDNC, for example netconf/snmp.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ssl-cacert" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ca file content if enabled ssl on auth-url.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ssl-insecure" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Whether to verify VIM's certificate.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ip-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="service IP of ftp server.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="service port of ftp server.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-domain" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="domain info for authentication.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="default-tenant" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="default tenant of VIM.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="passive" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ftp passive mode or not.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="remote-path" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="resource or performance data file path.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="the status of external system.")</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.onap.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="esr-system-info-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of persistent block-level external system auth info.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-system-info" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vip-ipv4-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="IPv4 Address Range",indexedProps="vip-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="cloud-region",uriTemplate="/vip-ipv4-address-list/{vip-ipv4-address}",requiredProps="vip-ipv4-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vip-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vip-ipv4-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 32 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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="vip-ipv6-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="IPv6 Address Range",indexedProps="vip-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="cloud-region",uriTemplate="/vip-ipv6-address-list/{vip-ipv6-address}",requiredProps="vip-ipv6-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vip-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vip-ipv6-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 128 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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="cloud-region">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="cloud-region designates an installation of a cloud cluster or region or instantiation.",indexedProps="cloud-owner,cloud-region-id,cloud-type,owner-defined-type",nameProps="owner-defined-type",container="cloud-regions",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}",requiredProps="cloud-owner,cloud-region-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cloud-owner" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="cloud-region-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="cloud-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Type of the cloud (e.g., openstack)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="owner-defined-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Cloud-owner defined type indicator (e.g., dcp, lcp)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-region-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Software version employed at the site.  NOTE - THIS FIELD IS NOT KEPT UP TO DATE.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="identity-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL of the keystone identity service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-zone" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Zone where the cloud is homed.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="complex-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="complex name for cloud-region instance.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="sriov-automation" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Whether the cloud region supports (true) or does not support (false) SR-IOV automation.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-extra-info" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ESR inputs extra information about the VIM or Cloud which will be decoded by MultiVIM.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-epa-caps" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="MultiVIM will discover and expose EPA capabilities.")</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.onap.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: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:element ref="tns:esr-system-info-list" minOccurs="0"/>
+        <xs:element ref="tns:vip-ipv4-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:vip-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-regions">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:cloud-region" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-profile">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Network profile populated by SDN-GP for SNMP",indexedProps="nm-profile-name",container="network-profiles",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}",requiredProps="nm-profile-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="nm-profile-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique name of network profile.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="community-string" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Encrypted SNMP community string")</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.onap.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="network-profiles">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sriov-pf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="SR-IOV Physical Function",indexedProps="pf-pci-id",dependentOn="p-interface",container="sriov-pfs",uriTemplate="/sriov-pfs/sriov-pf/{pf-pci-id}",requiredProps="pf-pci-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pf-pci-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Identifier for the sriov-pf")</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.onap.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="sriov-pfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of SR-IOV Physical Functions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:sriov-pf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="p-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Physical interface (e.g., nic)",indexedProps="interface-name,prov-status",nameProps="prov-status",dependentOn="vpls-pe,pserver,pnf",container="p-interfaces",uriTemplate="/p-interfaces/p-interface/{interface-name}",requiredProps="interface-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name that identifies the physical interface")</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.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Nature of the services and connectivity on this port.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equipment-identifier" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CLEI or other specification for p-interface hardware.")</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.onap.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.onap.aai.annotations.Metadata(description="Indicates the physical properties of the interface.")</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.onap.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="mac-addresss" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="MAC Address of the p-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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="inventory status")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:sriov-pfs" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Link aggregate interface",indexedProps="interface-name,interface-id,interface-role",dependentOn="generic-vnf,pserver,vpls-pe,pnf",container="lag-interfaces",uriTemplate="/lag-interfaces/lag-interface/{interface-name}",requiredProps="interface-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name that identifies the link aggregate interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="interface-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Human friendly text regarding this 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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</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.onap.aai.annotations.Metadata(description="ID of 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.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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 ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-interfaces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of link aggregate interfaces.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:lag-interface" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pserver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,inv-status",searchable="hostname,pserver-name2,pserver-id,ipv4-oam-address",uniqueProps="hostname",container="pservers",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/pservers/pserver/{hostname}",requiredProps="hostname,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hostname" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ptnii-equip-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="PTNII name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="number-of-cpus" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Number of cpus")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="disk-in-gigabytes" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Disk size, in GBs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ram-in-megabytes" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="RAM size, in MBs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-model" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Fully-qualified domain name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pserver-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</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.onap.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="serial-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Serial number, may be queried")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 OAM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pserver-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ID of Pserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="internet-topology" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="internet topology of Pserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="purpose of pserver")</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.onap.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]")</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.onap.aai.annotations.Metadata(description="Indicates who owns and or manages the device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="host-profile" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The host profile that defines the configuration of the pserver.")</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="pservers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of compute hosts.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:pserver" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="virtual-data-center">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}",requiredProps="vdc-id,vdc-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vdc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of the vdc")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdc-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the virtual data center")</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.onap.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="virtual-data-centers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:virtual-data-center" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-infrastructure">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for cloud infrastructure.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <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="esr-ems">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist EMS address information used by EMS driver.",indexedProps="ems-id",searchable="ems-id",container="esr-ems-list",namespace="external-system",requiredProps="ems-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="ems-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of EMS.")</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.onap.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:esr-system-info-list" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-ems-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-ems" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-vnfm">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist VNFM address information used by VF-C.",indexedProps="vnfm-id",searchable="vnfm-id",container="esr-vnfm-list",namespace="external-system",requiredProps="vnfm-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnfm-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of VNFM.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vim-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="indecate the VIM to deploy VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="certificate-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="certificate url of VNFM.")</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.onap.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:esr-system-info-list" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-vnfm-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-vnfm" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-thirdparty-sdnc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist SDNC address information used by ONAP SDNC.",indexedProps="sdnc-id",searchable="sdnc-id",container="esr-thirdparty-sdnc-list",namespace="external-system",requiredProps="thirdparty-sdnc-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="thirdparty-sdnc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of SDNC.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="location" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="used for DC type to indicate the location of SDNC, such as Core or Edge.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="product-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="password used to access SDNC server.")</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.onap.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:esr-system-info-list" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-thirdparty-sdnc-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-thirdparty-sdnc" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="external-system">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for external system.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-ems-list" minOccurs="0"/>
+        <xs:element ref="tns:esr-vnfm-list" minOccurs="0"/>
+        <xs:element ref="tns:esr-thirdparty-sdnc-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="connector">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of resource instances used to connect a variety of disparate inventory widgets",indexedProps="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version",container="connectors",namespace="business",uriTemplate="/business/connectors/connector/{resource-instance-id}",requiredProps="resource-instance-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="resource-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique id of resource 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.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</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.onap.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.onap.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="connectors">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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 ref="tns:connector" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tunnel-xconnect">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted",uniqueProps="id",indexedProps="id",dependentOn="allotted-resource",container="tunnel-xconnects",uriTemplate="/tunnel-xconnects/tunnel-xconnect/{id}",requiredProps="id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Allotted Resource id UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-up-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN uplink bandwidth for WAN1")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-down-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN downlink bandwidth for WAN1")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-up-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN uplink bandwidth for WAN2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-down-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN downlink bandwidth for WAN2")</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.onap.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="tunnel-xconnects">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="This object is used to store the specific tunnel cross connect aspects of an allotted resource")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:tunnel-xconnect" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="allotted-resource">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents a slice or partial piece of a resource that gets separately allotted",nameProps="description",uniqueProps="id",indexedProps="id,model-invariant-id,model-version-id,type,role",dependentOn="service-instance",container="allotted-resources",uriTemplate="/allotted-resources/allotted-resource/{id}",requiredProps="id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Allotted Resource id UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The descriptive information assigned to this allotted resource instance")</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.onap.aai.annotations.Metadata(description="Link back to more information in the controller")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</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.onap.aai.annotations.Metadata(description="Concurrency 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.onap.aai.annotations.Metadata(description="Orchestration status")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Generic description of the type of allotted resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role in the network that this resource will be providing.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:tunnel-xconnects" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="allotted-resources">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="This object is used to store slices of services being offered")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:allotted-resource" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-instance">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a service",indexedProps="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status,environment-context,workload-context",nameProps="service-instance-name",searchable="service-instance-id,service-instance-name",uniqueProps="service-instance-id",dependentOn="service-subscription",container="service-instances",uriTemplate="/service-instances/service-instance/{service-instance-id}",requiredProps="service-instance-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this instance of a service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-instance-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="String capturing type of service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="String capturing the service role.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="environment-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This field will store the environment context assigned to the service-instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="workload-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This field will store the workload context assigned to the service-instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="created-at" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="create time of Network Service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="updated-at" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="last update of Network Service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="short description for service-instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</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.onap.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.onap.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="bandwidth-total" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicates the total bandwidth to be used for this service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-up-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="bandwidth-down-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="bandwidth-up-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="bandwidth-down-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vhn-portal-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL customers will use to access the vHN Portal.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-instance-location-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Orchestration status of this service.")</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:allotted-resources" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-instances">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of service instances")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:service-instance" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-subscription">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Object that group service instances.",indexedProps="service-type",dependentOn="customer",container="service-subscriptions",crossEntityReference="service-instance,service-type",uriTemplate="/service-subscriptions/service-subscription/{service-type}",requiredProps="service-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="temp-ub-sub-account-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-subscriptions">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of objects that group service instances.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:service-subscription" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="customer">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="global-customer-id,subscriber-name",uniqueProps="global-customer-id",container="customers",namespace="business",uriTemplate="/business/customers/customer/{global-customer-id}",requiredProps="global-customer-id,subscriber-name,subscriber-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="global-customer-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="subscriber-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="customers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="line-of-business">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes a line-of-business",indexedProps="line-of-business-name",uniqueProps="line-of-business-name",container="lines-of-business",namespace="business",uriTemplate="/business/lines-of-business/line-of-business/{line-of-business-name}",requiredProps="line-of-business-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="line-of-business-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the line-of-business (product)")</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.onap.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="lines-of-business">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of lines-of-business")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:line-of-business" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="owning-entity">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes an owning-entity",indexedProps="owning-entity-id,owning-entity-name",searchable="owning-entity-id",uniqueProps="owning-entity-id,owning-entity-name",container="owning-entities",namespace="business",uriTemplate="/business/owning-entities/owning-entity/{owning-entity-id}",requiredProps="owning-entity-id,owning-entity-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="owning-entity-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID of an owning entity")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="owning-entity-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Owning entity name")</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.onap.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="owning-entities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of owning-entities")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:owning-entity" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="platform">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes a platform",indexedProps="platform-name",uniqueProps="platform-name",container="platforms",namespace="business",uriTemplate="/business/platforms/platform/{platform-name}",requiredProps="platform-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="platform-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the platform")</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.onap.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="platforms">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of platforms")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:platform" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="project">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes the project",indexedProps="project-name",uniqueProps="project-name",container="projects",namespace="business",uriTemplate="/business/projects/project/{project-name}",requiredProps="project-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="project-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the project deploying a service")</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.onap.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="projects">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of projects")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:project" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="business">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for business related constructs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:connectors" minOccurs="0"/>
+        <xs:element ref="tns:customers" minOccurs="0"/>
+        <xs:element ref="tns:lines-of-business" minOccurs="0"/>
+        <xs:element ref="tns:owning-entities" minOccurs="0"/>
+        <xs:element ref="tns:platforms" minOccurs="0"/>
+        <xs:element ref="tns:projects" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnf-image">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/service-design-and-creation/vnf-images/vnf-image/{vnf-image-uuid}",requiredProps="vnf-image-uuid,application,application-vendor")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-image-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of this asset")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="vnf-images">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:vnf-image" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Stand-in for service model definitions.  Likely to be deprecated in favor of models from ASDC.  Does not strictly map to ASDC services.",indexedProps="service-description,service-id",container="services",namespace="service-design-and-creation",uriTemplate="/service-design-and-creation/services/service/{service-id}",requiredProps="service-id,service-description")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="service-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Description of the service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="service version")</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="services">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-capability">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}",requiredProps="service-type,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="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.")</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.onap.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="service-capabilities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="element-choice-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/element-choice-sets/element-choice-set/{element-choice-set-uuid}",requiredProps="element-choice-set-uuid,element-choice-set-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="element-choice-set-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="constrained-element-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}",requiredProps="constrained-element-set-uuid,constraint-type,check-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="constrained-element-set-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="constraint-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="check-type" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-constraint">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/model-constraints/model-constraint/{model-constraint-uuid}",requiredProps="model-constraint-uuid,constrained-element-set-uuid-to-replace")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-constraint-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <xs:element ref="tns:constrained-element-sets" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-constraints">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:model-constraint" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-element">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/model-elements/model-element/{model-element-uuid}",requiredProps="model-element-uuid,new-data-del-flag,cardinality")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-element-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-ver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models",nameProps="model-name",indexedProps="model-version-id,model-name,model-version",uniqueProps="model-version-id",container="model-vers",uriTemplate="/model-vers/model-ver/{model-version-id}",requiredProps="model-version-id,model-name,model-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="model-vers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:model-ver" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version",nameProps="model-type",indexedProps="model-invariant-id,model-type",uniqueProps="model-invariant-id",container="models",namespace="service-design-and-creation",uriTemplate="/service-design-and-creation/models/model/{model-invariant-id}",requiredProps="model-invariant-id,model-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-vers" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-lookup">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="related-lookup-uuid",indexedProps="related-lookup-uuid",allowDirectRead="true",allowDirectWrite="false",container="related-lookups",uriTemplate="/related-lookups/related-lookup/{related-lookup-uuid}",requiredProps="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="related-lookup-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="source-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-node-property" type="xs:string" minOccurs="0"/>
+        <xs:element name="target-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="target-node-property" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-collect-list" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="property-constraint">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="property-constraint-uuid",indexedProps="property-constraint-uuid",allowDirectRead="true",allowDirectWrite="false",container="property-constraints",uriTemplate="/property-constraints/property-constraint/{property-constraint-uuid}",requiredProps="property-constraint-uuid,constraint-type,property-name,property-value")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="property-constraint-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="constraint-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-value" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query-element">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="named-query-element-uuid",indexedProps="named-query-element-uuid",allowDirectRead="true",allowDirectWrite="false",container="named-query-elements",uriTemplate="/named-query-elements/named-query-element/{named-query-element-uuid}",requiredProps="named-query-element-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="named-query-element-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/service-design-and-creation/named-queries/named-query/{named-query-uuid}",requiredProps="named-query-uuid,named-query-name,named-query-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="named-query-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true)</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="named-query-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="named-query-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="required-input-params" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="required-input-param" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+            </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-design-and-creation">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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.onap.aai.annotations.Metadata(description="Logical links generally connect l-interfaces but are used to express logical connectivity between two points",indexedProps="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose",uniqueProps="link-id",container="logical-links",namespace="network",searchable="link-name",uriTemplate="/network/logical-links/logical-link/{link-name}",requiredProps="link-name,in-maint,link-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="link-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Indication of operational status of the logical link.")</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.onap.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="link-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="UUID of the logical-link, SDNC generates this.")</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.onap.aai.annotations.Metadata(description="Circuit id")</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.onap.aai.annotations.Metadata(description="Reason for this entity, role it is playing")</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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="class-of-service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="cos",dependentOn="site-pair",container="classes-of-service",uriTemplate="/classes-of-service/class-of-service/{cos}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cos" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="site-pair-id",uniqueProps="site-pair-id",dependentOn="routing-instance",container="site-pairs",uriTemplate="/site-pairs/site-pair/{site-pair-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="site-pair-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="The type of destinatination equipment. Could be Router, UCPE, 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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="routing-instance">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="routing-instance-id",dependentOn="site-pair-set",container="routing-instances",uriTemplate="/routing-instances/routing-instance/{routing-instance-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="routing-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/site-pair-sets/site-pair-set/{site-pair-set-id}",requiredProps="site-pair-set-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="site-pair-set-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="route-target">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Route target information",container="route-targets",dependentOn="vpn-binding",canBeLinked="true",uriTemplate="/route-targets/route-target/{global-route-target}/{route-target-role}",requiredProps="global-route-target,route-target-role")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="global-route-target" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Number used to identify an RT, globally unique in the network")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-target-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Role assigned to this route target")</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.onap.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="route-targets">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of route target information")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:route-target" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpn-binding">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="VPN binding",nameProps="vpn-name,vpn-type",indexedProps="vpn-name,vpn-id,vpn-type",searchable="vpn-id,vpn-name",uniqueProps="vpn-id",container="vpn-bindings",namespace="network",uriTemplate="/network/vpn-bindings/vpn-binding/{vpn-id}",requiredProps="vpn-id,vpn-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vpn-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="VPN Name")</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.onap.aai.annotations.Metadata(description="the platform associated with the VPN example AVPN, Mobility")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Type of the vpn, should be taken from enumerated/valid values")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-region" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="region of customer vpn")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="customer-vpn-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="id for this customer vpn")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-distinguisher" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network.")</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.onap.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:route-targets" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpls-pe">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="VPLS Provider Edge routers.",indexedProps="prov-status,equipment-name",container="vpls-pes",namespace="network",uriTemplate="/network/vpls-pes/vpls-pe/{equipment-name}",requiredProps="equipment-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="equipment-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="multicast-configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="multicast-configuration-id",uniqueProps="multicast-configuration-id",container="multicast-configurations",namespace="network",uriTemplate="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="multicast-configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="protocol of multicast configuration")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="rp-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cvlan-tag-entry">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(dependentOn="port-group",indexedProps="cvlan-tag",container="cvlan-tags",uriTemplate="/cvlan-tags/cvlan-tag/{cvlan-tag}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cvlan-tag" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="port-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/port-groups/port-group/{interface-id}",requiredProps="interface-id,orchestration-status")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="license">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Metadata for license group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce",container="licenses",uriTemplate="/licenses/license/{group-uuid}/{resource-uuid}",requiredProps="group-uuid,resource-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID for the license group the resource belongs to, should be uuid.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of a license resource. ")</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.onap.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="licenses">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:license" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="entitlement">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Metadata for entitlement group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce",container="entitlements",uriTemplate="/entitlements/entitlement/{group-uuid}/{resource-uuid}",requiredProps="group-uuid,resource-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID for the entitlement group the resource comes from, should be uuid.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of an entitlement resource. ")</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.onap.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="entitlements">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Entitlements, keyed by group-uuid and resource-uuid, related to license management")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:entitlement" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vce">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/vces/vce/{vnf-id}",requiredProps="vnf-id,vnf-name,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED.")</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.onap.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.onap.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-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="OBSOLETE -  see child relationships")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:port-groups" minOccurs="0"/>
+        <xs:element ref="tns:licenses" minOccurs="0"/>
+        <xs:element ref="tns:entitlements" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnfc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id",searchable="vnfc-name",container="vnfcs",namespace="network",uriTemplate="/network/vnfcs/vnfc/{vnfc-name}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnfc-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of vnfc.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nfc-naming-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Short code that is used in naming instances of the item being modeled")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nfc-function" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service")</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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Group notation of VNFC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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>
+        <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal")</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.onap.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="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnfcs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="host-route">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="host-route-id",dependentOn="subnet",container="host-routes",uriTemplate="/host-routes/host-route/{host-route-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="host-route-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="host-route id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-prefix" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="subnet prefix")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="next-hop" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Could be ip-address, hostname, or service-instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="next-hop-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Should be ip-address, hostname, or service-instance to match next-hop")</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.onap.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="host-routes">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:host-route" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="subnet">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="subnet-id,subnet-name",nameProps="subnet-name",uniqueProps="subnet-id",dependentOn="l3-network",container="subnets",uriTemplate="/subnets/subnet/{subnet-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="subnet-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="the last address reserved for use by dhcp")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="subnet-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role of the subnet, referenced when assigning IPs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ip-assignment-direction" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ip address assignment direction of the subnet")</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.onap.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="subnet-sequence" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="sequence of the subnet")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:host-routes" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ctag-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="vlan-id-inner",dependentOn="l3-network",container="ctag-assignments",uriTemplate="/ctag-assignments/ctag-assignment/{vlan-id-inner}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="segmentation-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack segmentation assignment.",indexedProps="segmentation-id",dependentOn="l3-network",container="segmentation-assignments",uriTemplate="/segmentation-assignments/segmentation-assignment/{segmentation-id}",requiredProps="segmentation-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="segmentation-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Generic network definition",nameProps="network-name",indexedProps="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",searchable="network-id,network-name",uniqueProps="network-id",container="l3-networks",namespace="network",uriTemplate="/network/l3-networks/l3-network/{network-id}",requiredProps="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Unique identifier of service from ASDC.  Does not strictly map to ASDC services.  SOON TO BE DEPRECATED")</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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Contrail FQDN for the network")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-shared-network" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-external-network" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.")</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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-networks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:l3-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-policy">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(nameProps="network-policy-fqdn",indexedProps="network-policy-id,network-policy-fqdn",searchable="network-policy-id,network-policy-fqdn",uniqueProps="network-policy-id",container="network-policies",namespace="network",uriTemplate="/network/network-policies/network-policy/{network-policy-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-policy-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID representing unique key to this instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-policy-fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Contrail FQDN for the policy")</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.onap.aai.annotations.Metadata(description="ID for the openStack Heat 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.onap.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="network-policies">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:network-policy" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vf-module">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="a deployment unit of VNFCs",indexedProps="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",searchable="vf-module-id,vf-module-name",dependentOn="generic-vnf",container="vf-modules",uriTemplate="/vf-modules/vf-module/{vf-module-id}",requiredProps="vf-module-id,is-base-vf-module")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vf-module-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of vf-module.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-module-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of vf-module")</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.onap.aai.annotations.Metadata(description="Heat stack id corresponding to this instance.")</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.onap.aai.annotations.Metadata(description="orchestration status of this vf-module, mastered by MSO")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-base-vf-module" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="the Contrail unique ID for a service-instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="module-index" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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")</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.onap.aai.annotations.Metadata(description="Path to the controller object.")</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="vf-modules">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:vf-module" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generic-vnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role",searchable="vnf-id,vnf-name,vnf-name2",uniqueProps="vnf-id",container="generic-vnfs",namespace="network",extendsFrom="vnf",containsSuggestibleProps="true",suggestionAliases="VNFs",uriTemplate="/network/generic-vnfs/generic-vnf/{vnf-id}",requiredProps="vnf-id,vnf-type,in-maint,is-closed-loop-disabled")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vnf instance id.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Unique identifier of service, does not necessarily map to ASDC service models.  SOON TO BE DEPRECATED")</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.onap.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.onap.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.",suggestibleOnSearch="true")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.  Valid values are in-service-path and out-of-service-path.")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.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.onap.aai.annotations.Metadata(description="Orchestration status of this VNF, used by MSO.",suggestibleOnSearch="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-package-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-discriptor-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vnf discriptor name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="job-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="job id corresponding to vnf")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="identifier of managed by ATT or 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.onap.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.onap.aai.annotations.Metadata(description="v4 Loopback0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nm-lan-v6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 Loopback address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="management-v6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 management address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcpu" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcpu-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vmemory" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vmemory-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdisk" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdisk-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nshd" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of associated SHD in vnf.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nvm" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vms in vnf.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nnet" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of network in vnf.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-closed-loop-disabled" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD.")</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.onap.aai.annotations.Metadata(description="indicates whether generic-vnf access uses SSH")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="entitlement-assignment-group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the Entitlement group used for licensing VNFs, OBSOLETE -  See child relationships.")</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.onap.aai.annotations.Metadata(description="UUID of the specific entitlement resource.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="license-assignment-group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the license assignment group.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="license-key-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the actual license resource.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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="as-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="as-number of the VNF")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="regional-resource-subzone" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="represents sub zone of the rr plane")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Generic description of the type of NF",suggestibleOnSearch="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-function" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English description of Network function that the specific VNF deployment is providing")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role in the network that this model will be providing",suggestibleOnSearch="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-naming-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="string assigned to this model used for naming purposes")</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.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Gateway 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.onap.aai.annotations.Metadata(description="Prefix length for oam-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.onap.aai.annotations.Metadata(description="Temporary location for S-TAG to get to VCE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nm-profile-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Network Management profile of this VNF")</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:element ref="tns:licenses" minOccurs="0"/>
+        <xs:element ref="tns:entitlements" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generic-vnfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of VNFs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:generic-vnf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-link">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="LAG links can connect lag-interfaces",indexedProps="link-name",container="lag-links",namespace="network",uriTemplate="/network/lag-links/lag-link/{link-name}",requiredProps="link-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Alphabetical concatenation of lag-interface names")</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.onap.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="lag-links">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of link aggregation connections")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:lag-link" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="newvce">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/newvces/newvce/{vnf-id2}",requiredProps="vnf-id2,vnf-name,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.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="operational-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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="newvces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:newvce" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE.",indexedProps="pnf-name,orchestration-status,inv-status",searchable="pnf-name",uniqueProps="pnf-name",container="pnfs",namespace="network",uriTemplate="/network/pnfs/pnf/{pnf-name}",requiredProps="pnf-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="unique name of Physical Network Function.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="name of Physical Network Function.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-name2-source" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="source of name2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="id of pnf")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-model" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</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.onap.aai.annotations.Metadata(description="identifier of managed by ATT or customer")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="sw-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="frame-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="serial-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Serial number of the device")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 OAM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI.")</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.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Nf Role is the role performed by this instance in the network.")</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="pnfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="physical-link">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",searchable="link-name,circuit-id",uriTemplate="/network/physical-links/physical-link/{link-name}",requiredProps="link-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-provider-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the service Provider on this link.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-up-value" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Upstream Bandwidth value agreed with the service provider")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-up-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Units for the upstream BW value")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-down-value" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Downstream Bandwidth value agreed with the service provider")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-down-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Units for downstream BW value")</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.onap.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="physical-links">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vig-server">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/vig-servers/vig-server/{vig-address-type}",requiredProps="vig-address-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vig-address-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ipaddress-v4-vig" type="xs:string" minOccurs="0" maxOccurs="5000">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v4 IP of the vig server")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-vig" type="xs:string" minOccurs="0" maxOccurs="5000">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 IP of the vig server")</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.onap.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="vig-servers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vig-server" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ipsec-configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}",requiredProps="ipsec-configuration-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="ipsec-configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID of this configuration")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="requested-vig-address-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="requested-encryption-strength" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="requested-dmz-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ATT can offer a shared DMZ or a DMZ specific to a customer")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="shared-dmz-network-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Network address of shared DMZ")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="requested-customer-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ike-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="can be 1 or 2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-authentication" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Contains values like md5, sha1, sha256, sha384")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-encryption" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-dh-group" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-am-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-am-password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="pre-shared key for the above group name ")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-sa-lifetime" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Lifetime for IKEv1 SA")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-authentication" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="md5, sha1, sha256, sha384")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-encryption" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ipsec-sa-lifetime" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Life time for IPSec SA")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-pfs" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="enable PFS or not")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="xauth-userid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="user ID for xAuth, sm-user,ucpeHostName,nmteHostName")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="xauth-user-password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Encrypted using the Juniper $9$ algorithm")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dpd-interval" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The time between DPD probe")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dpd-frequency" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Maximum number of DPD before claiming the tunnel is down")</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.onap.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:vig-servers" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ipsec-configurations">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ipsec-configuration" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="route-table-reference">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/route-table-references/route-table-reference/{route-table-reference-id}",requiredProps="route-table-reference-id,route-table-reference-fqdn")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="route-table-reference-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="route-table-reference-fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="route-table-references">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack route table references")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:route-table-reference" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="General mechanism for grouping instances",nameProps="description",uniqueProps="id",searchable="id,description",indexedProps="id,description,type,sub-type",container="instance-groups",namespace="network",uriTemplate="/network/instance-groups/instance-group/{id}",requiredProps="id,description,type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="instance-group-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role of the instance group.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.onap.aai.annotations.Metadata(description="ASDC model version uid for this resource model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Instance Group ID, UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Descriptive text to help identify the usage of this instance-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Only valid value today is lower case ha for high availability",dbAlias="instance-group-type")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="sub-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]")</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.onap.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="instance-groups">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack route table references")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:instance-group" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="zone">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="A zone is a grouping of assets in a location homing to the same connections into the CBB",nameProps="zone-name",indexedProps="zone-id,design-type,zone-context",uniqueProps="zone-id",container="zones",namespace="network",uriTemplate="/network/zones/zone/{zone-id}",requiredProps="zone-id,zone-name,design-type,zone-context")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="zone-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Code assigned by AIC to the zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English name associated with the zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="design-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Design of zone [Medium/Large?]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="zone-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Context of zone [production/test]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Status of a zone.")</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.onap.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="zones">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of zones")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:zone" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Port Mirror Configuration.",indexedProps="configuration-id,model-invariant-id,model-version-id",uniqueProps="configuration-id",container="configurations",namespace="network",uriTemplate="/network/configurations/configuration/{configuration-id}",requiredProps="configuration-id,configuration-type,configuration-sub-type,orchestration-status,operational-status,configuration-selflink,model-customization-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID assigned to configuration.")</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.onap.aai.annotations.Metadata(description="Indicates the entity that will manage this feature. Could be an organization or the name of the application as well.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="port-mirroring-configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-sub-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vprobe, pprobe.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-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.onap.aai.annotations.Metadata(description="Orchestration status of the configuration.")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details from SDN-GC.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="id of  the configuration used to customize the resource")</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.onap.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:metadata" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="configurations">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of configurations")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:configuration" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for network inventory resources.")</annox:annotate>
+        </xs:appinfo>
+      </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: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:element ref="tns:instance-groups" minOccurs="0"/>
+        <xs:element ref="tns:zones" minOccurs="0"/>
+        <xs:element ref="tns:configurations" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="reserved-prop-names">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Internal map to define some reserved properties of a vertex",uniqueProps="aai-unique-key",indexedProps="aai-unique-key,source-of-truth,aai-node-type,aai-uri")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="last-mod-source-of-truth" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-created-ts" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="aai-unique-key" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-last-mod-ts" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="source-of-truth" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-uri" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="edge-prop-names">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Internal map to define the properties of an edge and interpret the map EdgeRules",edgeInfo="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="edgeLabel" type="xs:string" minOccurs="0"/>
+        <xs:element name="direction" type="xs:string" minOccurs="0"/>
+        <xs:element name="multiplicityRule" type="xs:string" minOccurs="0"/>
+        <xs:element name="contains-other-v" type="xs:string" minOccurs="0"/>
+        <xs:element name="delete-other-v" type="xs:string" minOccurs="0"/>
+        <xs:element name="SVC-INFRA" type="xs:string" minOccurs="0"/>
+        <xs:element name="prevent-delete" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="aai-internal">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:reserved-prop-names" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:edge-prop-names" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="notification-event-header">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0"/>
+        <xs:element name="timestamp" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="domain" type="xs:string" minOccurs="0"/>
+        <xs:element name="sequence-number" type="xs:string" minOccurs="0"/>
+        <xs:element name="severity" type="xs:string" minOccurs="0"/>
+        <xs:element name="event-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="version" type="xs:string" minOccurs="0"/>
+        <xs:element name="action" type="xs:string" minOccurs="0"/>
+        <xs:element name="entity-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="top-entity-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="entity-link" type="xs:string" minOccurs="0"/>
+        <xs:element name="status" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="notification-event">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="cambria.partition" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:notification-event-header" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="overloaded-model">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Allows for legacy POST of old-style and new-style models",requiredProps="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-name-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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-vers" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="query-parameters">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="QueryParameters for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:named-query" minOccurs="0"/>
+        <xs:element ref="tns:overloaded-model" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-filter">
+    <xs:complexType>
+      <xs:sequence/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-filters">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="InstanceFilters for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:instance-filter" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="secondary-filt">
+    <xs:complexType>
+      <xs:sequence/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="secondary-filts">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="SecondaryFilts for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:secondary-filt" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-and-named-query-search">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:query-parameters" minOccurs="0"/>
+        <xs:element ref="tns:instance-filters" minOccurs="0"/>
+        <xs:element ref="tns:secondary-filts" minOccurs="0"/>
+        <xs:element name="top-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="secondary-filter-cut-point" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="properties">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Property holder for query properties or instance properties")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <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-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:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inventory-response-item">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Inventory item for response list",container="inventory-response-items")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-name" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:extra-properties" minOccurs="0"/>
+        <xs:element ref="tns:inventory-response-items" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inventory-response-items">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Container for inventory items in response list",container="response-list")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:inventory-response-item" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="response-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Response container for the results of a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:inventory-response-items" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Abstract vnf class",indexedProps="vnf-id",uniqueProps="vnf-id",inheritors="vce,generic-vnf",isAbstract="true",requiredProps="vnf-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:element name="inventory">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:search" minOccurs="0"/>
+        <xs:element ref="tns:actions" minOccurs="0"/>
+        <xs:element ref="tns:cloud-infrastructure" minOccurs="0"/>
+        <xs:element ref="tns:external-system" minOccurs="0"/>
+        <xs:element ref="tns:business" minOccurs="0"/>
+        <xs:element ref="tns:service-design-and-creation" minOccurs="0"/>
+        <xs:element ref="tns:network" minOccurs="0"/>
+        <xs:element ref="tns:aai-internal" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
diff --git a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v12.xsd b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v12.xsd
new file mode 100644 (file)
index 0000000..bacc1ca
--- /dev/null
@@ -0,0 +1,8169 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://org.onap.aai.inventory/v12" xmlns:tns="http://org.onap.aai.inventory/v12" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+    jaxb:version="2.1"
+    xmlns:annox="http://annox.dev.java.net"
+    jaxb:extensionBindingPrefixes="annox">
+
+  <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="5000"/>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="5000"/>
+      </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="edge-tag-query-result">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="5000"/>
+      </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="edge-tag-query-request">
+    <xs:complexType>
+      <xs:sequence>
+        <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="5000"/>
+        <xs:element ref="tns:include-node-filter" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:secondary-filter" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="result-data">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="The URL to the specific resource")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="resource-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="search-results">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:result-data" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship-data">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Value of the attribute.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="relationship-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="A keyword provided by A&amp;AI to indicate an attribute.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="relationship-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Value of the attribute.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-to-property">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Value part of a key/value pair")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="property-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Key part of a key/value pair")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="property-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Value part of a key/value pair")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="URL to the object in A&amp;AI.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="related-to" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="relationship-label" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The edge label for this relationship.")</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.onap.aai.annotations.Metadata(description="URL to the object in A&amp;AI.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-data" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:related-to-property" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship-list">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:relationship" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="oam-network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/oam-networks/oam-network/{network-uuid}",requiredProps="network-uuid,network-name,cvlan-tag")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="network-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the network.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cvlan-tag" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="cvlan-id")</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.onap.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="ipv4-oam-gateway-address-prefix-length" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="oam-networks">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:oam-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dvs-switch">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/dvs-switches/dvs-switch/{switch-name}",requiredProps="switch-name,vcenter-url")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="switch-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="DVS switch name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcenter-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL used to reach the vcenter")</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.onap.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="dvs-switches">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of digital virtual switch metadata used for vmWare VCEs and GenericVnfs.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:dvs-switch" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="availability-zone">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Availability zone, a collection of compute hosts/pservers",indexedProps="availability-zone-name",dependentOn="cloud-region",container="availability-zones",uriTemplate="/availability-zones/availability-zone/{availability-zone-name}",requiredProps="availability-zone-name,hypervisor-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="availability-zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="hypervisor-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="operational-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values.")</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.onap.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="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="5000"/>
+      </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="update">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team.",requiredProps="update-node-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="update-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:update-node-key" minOccurs="0" maxOccurs="5000"/>
+        <xs:element name="update-node-uri" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:action" minOccurs="0" maxOccurs="5000"/>
+      </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" minOccurs="0"/>
+        <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="5000"/>
+        <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.onap.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.onap.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",uriTemplate="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}",requiredProps="target-pe,availability-zone-name,ctag-pool-purpose")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="target-pe" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="The Target provider edge router")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="availability-zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the availability zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ctag-pool-purpose" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Describes what the intended purpose of this pool is.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ctag-values" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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-pools">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ctag-pool" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="complex">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/cloud-infrastructure/complexes/complex/{physical-location-id}",requiredProps="physical-location-id,physical-location-type,street1,city,postal-code,country,region")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="physical-location-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="data-center-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="complex-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Gamma complex name for LCP instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="identity-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL of the keystone identity service")</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.onap.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="physical-location-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <xs:element name="street2" type="xs:string" minOccurs="0"/>
+        <xs:element name="city" type="xs:string" minOccurs="0"/>
+        <xs:element name="state" type="xs:string" minOccurs="0"/>
+        <xs:element name="postal-code" type="xs:string" minOccurs="0"/>
+        <xs:element name="country" type="xs:string" minOccurs="0"/>
+        <xs:element name="region" type="xs:string" minOccurs="0"/>
+        <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="complexes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of physical locations that can house cloud-regions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:complex" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persistent block-level storage.",indexedProps="volume-group-name,vnf-type,heat-stack-id,volume-group-id",searchable="volume-group-id,volume-group-name",dependentOn="cloud-region",container="volume-groups",uriTemplate="/volume-groups/volume-group/{volume-group-id}",requiredProps="volume-group-id,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="volume-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of volume-group.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="volume-group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the volume group.")</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.onap.aai.annotations.Metadata(description="Heat stack id corresponding to this volume-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Orchestration status of this volume-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-module-model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="helps relate the volume group to the vf-module whose components will require the volume group")</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.onap.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="volume-groups">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Ephemeral Block storage volume.",indexedProps="volume-id",dependentOn="vserver",container="volumes",uriTemplate="/volumes/volume/{volume-id}",requiredProps="volume-id,volume-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="volume-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="volume-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="volumes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of ephemeral Block storage volumes.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:volume" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-interface-ipv4-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,vnfc",uriTemplate="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}",requiredProps="l3-interface-ipv4-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="l3-interface-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="l3-interface-ipv4-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 32 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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-interface-ipv6-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,vnfc",uriTemplate="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}",requiredProps="l3-interface-ipv6-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="l3-interface-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="l3-interface-ipv6-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 128 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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="vlan">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Definition of vlan",indexedProps="vlan-interface,vlan-id-inner,vpn-key",dependentOn="l-interface",container="vlans",uriTemplate="/vlans/vlan/{vlan-interface}",requiredProps="vlan-interface,in-maint,is-ip-unnumbered")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-interface" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="String that identifies the interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.aai.annotations.Metadata(description="Outer VLAN tag")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Used to describe (the service associated with) the vlan")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="backdoor-connection" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vpn-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This indicates the customers VPN ID associated with this vlan")</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.onap.aai.annotations.Metadata(description="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV].")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-ip-unnumbered" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="Flag indicating the interface uses the IP Unnumbered configuration.")</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="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vlans">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vlan" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sriov-vf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/sriov-vfs/sriov-vf/{pci-id}",requiredProps="pci-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pci-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-vlan-filter" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-mac-filter" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-vlan-strip" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="sriov-vfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of SR-IOV Virtual Functions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:sriov-vf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Logical interfaces, e.g., a vnic.",indexedProps="macaddr,interface-id,interface-name,network-name",dependentOn="generic-vnf,newvce,p-interface,vserver,lag-interface,l-interface",container="l-interfaces",uriTemplate="/l-interfaces/l-interface/{interface-name}",requiredProps="interface-name,is-port-mirrored,in-maint,is-ip-unnumbered")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="E.g., CUSTOMER, UPLINK, etc.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="v6-wan-link-ip" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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>
+        <xs:element name="interface-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Human friendly text regarding this interface.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-port-mirrored" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not port is a mirrored.")</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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV].")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-ip-unnumbered" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="Flag indicating the interface uses the IP Unnumbered configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="allowed-address-pairs" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Freeform field for storing an ip address, list of ip addresses or a subnet block.")</annox:annotate>
+            </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:l-interfaces" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l3-interface-ipv4-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l-interfaces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vserver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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-id,vserver-name,vserver-name2",dependentOn="tenant",container="vservers",uriTemplate="/vservers/vserver/{vserver-id}",requiredProps="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vserver-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vserver-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of vserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vserver-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Alternative name of vserver")</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.onap.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="vserver-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-closed-loop-disabled" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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: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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tenant">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack tenant",nameProps="tenant-name",indexedProps="tenant-name,tenant-id,tenant-context",searchable="tenant-id,tenant-name",dependentOn="cloud-region",container="tenants",uriTemplate="/tenants/tenant/{tenant-id}",requiredProps="tenant-id,tenant-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="tenant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Readable name of tenant")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tenant-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This field will store the tenant context.")</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.onap.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: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.onap.aai.annotations.Metadata(description="Collection of openstack tenants.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:tenant" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="hpa-feature-attributes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="HPA Capability Feature attributes",indexedProps="hpa-attribute-key",dependentOn="hpa-capability",requiredProps="hpa-attribute-key")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hpa-attribute-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="name of the specific HPA attribute")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="hpa-attribute-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="JSON string specifying the value, unit and type of the specific HPA attribute")</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.onap.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="hpa-capability">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents a HPA capability",indexedProps="hpa-feature,architecture,hpa-capability-id",dependentOn="flavor,cloud-region",container="hpa-capabilities",requiredProps="hpa-capability-id,hpa-feature")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hpa-capability-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID to uniquely identify a HPA capability")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="hpa-feature" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the HPACapability")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="hpa-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="HPA schema version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="architecture" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Hardware architecture")</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.onap.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:hpa-feature-attributes" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="hpa-capabilities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of HPA Capabilities")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:hpa-capability" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="flavor">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack flavor.",nameProps="flavor-name",indexedProps="flavor-name,flavor-id",dependentOn="cloud-region",container="flavors",uriTemplate="/flavors/flavor/{flavor-id}",requiredProps="flavor-id,flavor-name,flavor-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="flavor-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="flavor-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Flavor name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-vcpus" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Number of CPUs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-ram" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Amount of memory")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-disk" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Disk space")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-ephemeral" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Amount of ephemeral disk space")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-swap" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="amount of swap space allocation")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-is-public" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="flavor-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Boolean as to whether this flavor is no longer enabled")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:hpa-capabilities" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="List of flavor specific HPA Capabilities")</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.onap.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="flavors">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack flavors.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:flavor" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="group-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack group-assignment used to store exclusivity groups (EG).",nameProps="group-name",indexedProps="group-id,group-type,group-name",searchable="group-id,group-name",dependentOn="cloud-region",container="group-assignments",uriTemplate="/group-assignments/group-assignment/{group-id}",requiredProps="group-id,group-type,group-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="group-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Group description - description of the group")</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.onap.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="group-assignments">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack group assignments")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:group-assignment" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="snapshot">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/snapshots/snapshot/{snapshot-id}",requiredProps="snapshot-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="snapshot-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="snapshot-os-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="This field contains the UUID of the previous snapshot (if any).")</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.onap.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="snapshots">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack snapshots")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:snapshot" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="metadatum">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Key/value pairs",indexedProps="metaname",dependentOn="tenant,image,service-instance,connector,model",container="metadata",uriTemplate="/metadata/metadatum/{metaname}",requiredProps="metaname,metaval")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="metaname" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true)</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="metaval" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="metadata">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="image">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack image.",nameProps="image-name",indexedProps="application,image-name,application-vendor,image-id,application-version",dependentOn="cloud-region",container="images",uriTemplate="/images/image/{image-id}",requiredProps="image-id,image-name,image-os-distro,image-os-version,image-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="image-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="image-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Image name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-architecture" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Operating system architecture.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-os-distro" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="image-os-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="The version of the application.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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:metadata" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="images">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collectio of Openstack images.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:image" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="availability-zones">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of availability zones")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:availability-zone" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vip-ipv4-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="IPv4 Address Range",indexedProps="vip-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="cloud-region",uriTemplate="/vip-ipv4-address-list/{vip-ipv4-address}",requiredProps="vip-ipv4-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vip-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vip-ipv4-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 32 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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="vip-ipv6-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="IPv6 Address Range",indexedProps="vip-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="cloud-region",uriTemplate="/vip-ipv6-address-list/{vip-ipv6-address}",requiredProps="vip-ipv6-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vip-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vip-ipv6-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 128 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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="esr-system-info">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist common address information of external systems.",indexedProps="esr-system-info-id,system-name,system-type",searchable="esr-system-info-id,system-name,system-type",container="esr-system-info-list",dependentOn="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc",requiredProps="esr-system-info-id,user-name,password,system-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="esr-system-info-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of esr system info.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="name of external system.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="type of external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vendor of external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="version of external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="url used to access external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="user-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="username used to access external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="password used to access external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="it could be vim/vnfm/thirdparty-sdnc/ems-resource/ems-performance/ems-alarm.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="protocol" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="protocol of third party SDNC, for example netconf/snmp.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ssl-cacert" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ca file content if enabled ssl on auth-url.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ssl-insecure" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Whether to verify VIM's certificate.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ip-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="service IP of ftp server.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="service port of ftp server.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-domain" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="domain info for authentication.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="default-tenant" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="default tenant of VIM.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="passive" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ftp passive mode or not.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="remote-path" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="resource or performance data file path.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="the status of external system.")</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.onap.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="esr-system-info-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of persistent block-level external system auth info.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-system-info" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-region">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="cloud-region designates an installation of a cloud cluster or region or instantiation.",indexedProps="cloud-owner,cloud-region-id,cloud-type,owner-defined-type",nameProps="owner-defined-type",container="cloud-regions",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}",requiredProps="cloud-owner,cloud-region-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cloud-owner" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="cloud-region-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="cloud-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Type of the cloud (e.g., openstack)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="owner-defined-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Cloud-owner defined type indicator (e.g., dcp, lcp)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-region-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Software version employed at the site.  NOTE - THIS FIELD IS NOT KEPT UP TO DATE.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="identity-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL of the keystone identity service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-zone" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Zone where the cloud is homed.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="complex-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="complex name for cloud-region instance.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="sriov-automation" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Whether the cloud region supports (true) or does not support (false) SR-IOV automation.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-extra-info" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ESR inputs extra information about the VIM or Cloud which will be decoded by MultiVIM.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-epa-caps" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="MultiVIM will discover and expose EPA capabilities.")</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.onap.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: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:element ref="tns:vip-ipv4-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:vip-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:hpa-capabilities" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="List of cloud-region specific HPA Capabilities")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:esr-system-info-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-regions">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:cloud-region" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-profile">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Network profile populated by SDN-GP for SNMP",indexedProps="nm-profile-name",container="network-profiles",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}",requiredProps="nm-profile-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="nm-profile-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique name of network profile.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="community-string" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Encrypted SNMP community string")</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.onap.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="network-profiles">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sriov-pf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="SR-IOV Physical Function",indexedProps="pf-pci-id",dependentOn="p-interface",container="sriov-pfs",uriTemplate="/sriov-pfs/sriov-pf/{pf-pci-id}",requiredProps="pf-pci-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pf-pci-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Identifier for the sriov-pf")</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.onap.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="sriov-pfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of SR-IOV Physical Functions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:sriov-pf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="p-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Physical interface (e.g., nic)",indexedProps="interface-name,prov-status",nameProps="prov-status",dependentOn="vpls-pe,pserver,pnf",container="p-interfaces",uriTemplate="/p-interfaces/p-interface/{interface-name}",requiredProps="interface-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name that identifies the physical interface")</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.onap.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-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Nature of the services and connectivity on this port.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equipment-identifier" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CLEI or other specification for p-interface hardware.")</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.onap.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.onap.aai.annotations.Metadata(description="Indicates the physical properties of the interface.")</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.onap.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="mac-addresss" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="MAC Address of the p-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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="inventory status")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:sriov-pfs" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Link aggregate interface",indexedProps="interface-name,interface-id,interface-role",dependentOn="generic-vnf,pserver,vpls-pe,pnf",container="lag-interfaces",uriTemplate="/lag-interfaces/lag-interface/{interface-name}",requiredProps="interface-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name that identifies the link aggregate interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="interface-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Human friendly text regarding this 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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</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.onap.aai.annotations.Metadata(description="ID of 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.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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 ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-interfaces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of link aggregate interfaces.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:lag-interface" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pserver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,inv-status",searchable="hostname,pserver-name2,pserver-id,ipv4-oam-address",uniqueProps="hostname",container="pservers",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/pservers/pserver/{hostname}",requiredProps="hostname,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hostname" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ptnii-equip-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="PTNII name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="number-of-cpus" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Number of cpus")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="disk-in-gigabytes" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Disk size, in GBs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ram-in-megabytes" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="RAM size, in MBs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-model" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Fully-qualified domain name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pserver-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</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.onap.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="serial-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Serial number, may be queried")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 OAM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pserver-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ID of Pserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="internet-topology" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="internet topology of Pserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="purpose of pserver")</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.onap.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]")</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.onap.aai.annotations.Metadata(description="Indicates who owns and or manages the device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="host-profile" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The host profile that defines the configuration of the pserver.")</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="pservers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of compute hosts.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:pserver" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="virtual-data-center">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}",requiredProps="vdc-id,vdc-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vdc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of the vdc")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdc-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the virtual data center")</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.onap.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="virtual-data-centers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:virtual-data-center" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="operational-environment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="It is a logical partition of the cloud which allows to have multiple environments in the production AIC.",indexedProps="operational-environment-id",nameProps="operational-environment-name",uniqueProps="operational-environment-id",container="operational-environments",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/operational-environments/operational-environment/{operational-environment-id}",requiredProps="operational-environment-id,operational-environment-name,operational-environment-type,operational-environment-status,tenant-context,workload-context")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="operational-environment-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID of an operational environment")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="operational-environment-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Operational Environment name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="operational-environment-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Operational Environment Type.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="operational-environment-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Status")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tenant-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Tenant Context.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="workload-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Workload Context.")</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.onap.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="operational-environments">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="a logical partition of the cloud which allows to have multiple environments in the production AIC.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:operational-environment" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-infrastructure">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for cloud infrastructure.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <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:element ref="tns:operational-environments" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-ems">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist EMS address information used by EMS driver.",indexedProps="ems-id",searchable="ems-id",container="esr-ems-list",namespace="external-system",requiredProps="ems-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="ems-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of EMS.")</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.onap.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:esr-system-info-list" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-ems-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-ems" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-vnfm">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist VNFM address information used by VF-C.",indexedProps="vnfm-id",searchable="vnfm-id",container="esr-vnfm-list",namespace="external-system",requiredProps="vnfm-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnfm-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of VNFM.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vim-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="indecate the VIM to deploy VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="certificate-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="certificate url of VNFM.")</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.onap.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:esr-system-info-list" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-vnfm-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-vnfm" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-thirdparty-sdnc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist SDNC address information used by ONAP SDNC.",indexedProps="sdnc-id",searchable="sdnc-id",container="esr-thirdparty-sdnc-list",namespace="external-system",requiredProps="thirdparty-sdnc-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="thirdparty-sdnc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of SDNC.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="location" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="used for DC type to indicate the location of SDNC, such as Core or Edge.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="product-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="password used to access SDNC server.")</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.onap.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:esr-system-info-list" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-thirdparty-sdnc-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-thirdparty-sdnc" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="external-system">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for external system.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-ems-list" minOccurs="0"/>
+        <xs:element ref="tns:esr-vnfm-list" minOccurs="0"/>
+        <xs:element ref="tns:esr-thirdparty-sdnc-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="connector">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of resource instances used to connect a variety of disparate inventory widgets",indexedProps="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version",container="connectors",namespace="business",uriTemplate="/business/connectors/connector/{resource-instance-id}",requiredProps="resource-instance-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="resource-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique id of resource 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.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</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.onap.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.onap.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="connectors">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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 ref="tns:connector" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tunnel-xconnect">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted",uniqueProps="id",indexedProps="id",dependentOn="allotted-resource",container="tunnel-xconnects",uriTemplate="/tunnel-xconnects/tunnel-xconnect/{id}",requiredProps="id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Allotted Resource id UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-up-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN uplink bandwidth for WAN1")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-down-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN downlink bandwidth for WAN1")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-up-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN uplink bandwidth for WAN2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-down-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN downlink bandwidth for WAN2")</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.onap.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="tunnel-xconnects">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="This object is used to store the specific tunnel cross connect aspects of an allotted resource")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:tunnel-xconnect" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="allotted-resource">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents a slice or partial piece of a resource that gets separately allotted",nameProps="description",uniqueProps="id",indexedProps="id,model-invariant-id,model-version-id,type,role",dependentOn="service-instance",container="allotted-resources",uriTemplate="/allotted-resources/allotted-resource/{id}",requiredProps="id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Allotted Resource id UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The descriptive information assigned to this allotted resource instance")</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.onap.aai.annotations.Metadata(description="Link back to more information in the controller")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</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.onap.aai.annotations.Metadata(description="Concurrency 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.onap.aai.annotations.Metadata(description="Orchestration status")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Generic description of the type of allotted resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role in the network that this resource will be providing.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:tunnel-xconnects" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="allotted-resources">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="This object is used to store slices of services being offered")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:allotted-resource" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-instance">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a service",indexedProps="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status,environment-context,workload-context",nameProps="service-instance-name",searchable="service-instance-id,service-instance-name",uniqueProps="service-instance-id",dependentOn="service-subscription",container="service-instances",uriTemplate="/service-instances/service-instance/{service-instance-id}",requiredProps="service-instance-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this instance of a service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-instance-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="String capturing type of service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="String capturing the service role.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="environment-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This field will store the environment context assigned to the service-instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="workload-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This field will store the workload context assigned to the service-instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="created-at" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="create time of Network Service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="updated-at" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="last update of Network Service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="short description for service-instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</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.onap.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.onap.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="bandwidth-total" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicates the total bandwidth to be used for this service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-up-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="bandwidth-down-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="bandwidth-up-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="bandwidth-down-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vhn-portal-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL customers will use to access the vHN Portal.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-instance-location-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Orchestration status of this service.")</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:allotted-resources" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-instances">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of service instances")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:service-instance" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-subscription">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Object that group service instances.",indexedProps="service-type",dependentOn="customer",container="service-subscriptions",crossEntityReference="service-instance,service-type",uriTemplate="/service-subscriptions/service-subscription/{service-type}",requiredProps="service-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="temp-ub-sub-account-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-subscriptions">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of objects that group service instances.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:service-subscription" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="customer">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="global-customer-id,subscriber-name",uniqueProps="global-customer-id",container="customers",namespace="business",uriTemplate="/business/customers/customer/{global-customer-id}",requiredProps="global-customer-id,subscriber-name,subscriber-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="global-customer-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="subscriber-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="customers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="line-of-business">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes a line-of-business",indexedProps="line-of-business-name",uniqueProps="line-of-business-name",container="lines-of-business",namespace="business",uriTemplate="/business/lines-of-business/line-of-business/{line-of-business-name}",requiredProps="line-of-business-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="line-of-business-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the line-of-business (product)")</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.onap.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="lines-of-business">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of lines-of-business")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:line-of-business" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="owning-entity">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes an owning-entity",indexedProps="owning-entity-id,owning-entity-name",searchable="owning-entity-id",uniqueProps="owning-entity-id,owning-entity-name",container="owning-entities",namespace="business",uriTemplate="/business/owning-entities/owning-entity/{owning-entity-id}",requiredProps="owning-entity-id,owning-entity-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="owning-entity-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID of an owning entity")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="owning-entity-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Owning entity name")</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.onap.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="owning-entities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of owning-entities")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:owning-entity" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="platform">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes a platform",indexedProps="platform-name",uniqueProps="platform-name",container="platforms",namespace="business",uriTemplate="/business/platforms/platform/{platform-name}",requiredProps="platform-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="platform-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the platform")</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.onap.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="platforms">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of platforms")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:platform" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="project">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes the project",indexedProps="project-name",uniqueProps="project-name",container="projects",namespace="business",uriTemplate="/business/projects/project/{project-name}",requiredProps="project-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="project-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the project deploying a service")</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.onap.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="projects">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of projects")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:project" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="business">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for business related constructs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:connectors" minOccurs="0"/>
+        <xs:element ref="tns:customers" minOccurs="0"/>
+        <xs:element ref="tns:lines-of-business" minOccurs="0"/>
+        <xs:element ref="tns:owning-entities" minOccurs="0"/>
+        <xs:element ref="tns:platforms" minOccurs="0"/>
+        <xs:element ref="tns:projects" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnf-image">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/service-design-and-creation/vnf-images/vnf-image/{vnf-image-uuid}",requiredProps="vnf-image-uuid,application,application-vendor")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-image-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of this asset")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="vnf-images">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:vnf-image" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Stand-in for service model definitions.  Likely to be deprecated in favor of models from ASDC.  Does not strictly map to ASDC services.",indexedProps="service-description,service-id",container="services",namespace="service-design-and-creation",uriTemplate="/service-design-and-creation/services/service/{service-id}",requiredProps="service-id,service-description")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="service-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Description of the service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="service version")</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="services">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-capability">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}",requiredProps="service-type,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="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.")</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.onap.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="service-capabilities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="element-choice-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/element-choice-sets/element-choice-set/{element-choice-set-uuid}",requiredProps="element-choice-set-uuid,element-choice-set-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="element-choice-set-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="constrained-element-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}",requiredProps="constrained-element-set-uuid,constraint-type,check-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="constrained-element-set-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="constraint-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="check-type" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-constraint">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/model-constraints/model-constraint/{model-constraint-uuid}",requiredProps="model-constraint-uuid,constrained-element-set-uuid-to-replace")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-constraint-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <xs:element ref="tns:constrained-element-sets" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-constraints">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:model-constraint" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-element">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/model-elements/model-element/{model-element-uuid}",requiredProps="model-element-uuid,new-data-del-flag,cardinality")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-element-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-ver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models",nameProps="model-name",indexedProps="model-version-id,model-name,model-version,distribution-status",uniqueProps="model-version-id",container="model-vers",uriTemplate="/model-vers/model-ver/{model-version-id}",requiredProps="model-version-id,model-name,model-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="distribution-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Distribution Status")</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.onap.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.onap.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="model-vers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:model-ver" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version",nameProps="model-type",indexedProps="model-invariant-id,model-type",uniqueProps="model-invariant-id",container="models",namespace="service-design-and-creation",uriTemplate="/service-design-and-creation/models/model/{model-invariant-id}",requiredProps="model-invariant-id,model-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-vers" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-lookup">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="related-lookup-uuid",indexedProps="related-lookup-uuid",allowDirectRead="true",allowDirectWrite="false",container="related-lookups",uriTemplate="/related-lookups/related-lookup/{related-lookup-uuid}",requiredProps="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="related-lookup-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="source-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-node-property" type="xs:string" minOccurs="0"/>
+        <xs:element name="target-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="target-node-property" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-collect-list" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="property-constraint">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="property-constraint-uuid",indexedProps="property-constraint-uuid",allowDirectRead="true",allowDirectWrite="false",container="property-constraints",uriTemplate="/property-constraints/property-constraint/{property-constraint-uuid}",requiredProps="property-constraint-uuid,constraint-type,property-name,property-value")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="property-constraint-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="constraint-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-value" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query-element">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="named-query-element-uuid",indexedProps="named-query-element-uuid",allowDirectRead="true",allowDirectWrite="false",container="named-query-elements",uriTemplate="/named-query-elements/named-query-element/{named-query-element-uuid}",requiredProps="named-query-element-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="named-query-element-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/service-design-and-creation/named-queries/named-query/{named-query-uuid}",requiredProps="named-query-uuid,named-query-name,named-query-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="named-query-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true)</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="named-query-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="named-query-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="required-input-params" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="required-input-param" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+            </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-design-and-creation">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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.onap.aai.annotations.Metadata(description="Logical links generally connect l-interfaces but are used to express logical connectivity between two points",indexedProps="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose",uniqueProps="link-id",container="logical-links",namespace="network",searchable="link-name",uriTemplate="/network/logical-links/logical-link/{link-name}",requiredProps="link-name,in-maint,link-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="link-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="v4, v6, or ds for dual stack (should be att-ip-version)")</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.onap.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.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Indication of operational status of the logical link.")</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.onap.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="link-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="UUID of the logical-link, SDNC generates this.")</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.onap.aai.annotations.Metadata(description="Circuit id")</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.onap.aai.annotations.Metadata(description="Reason for this entity, role it is playing")</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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="class-of-service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="cos",dependentOn="site-pair",container="classes-of-service",uriTemplate="/classes-of-service/class-of-service/{cos}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cos" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="site-pair-id",uniqueProps="site-pair-id",dependentOn="routing-instance",container="site-pairs",uriTemplate="/site-pairs/site-pair/{site-pair-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="site-pair-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="The type of destinatination equipment. Could be Router, UCPE, 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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="routing-instance">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="routing-instance-id",dependentOn="site-pair-set",container="routing-instances",uriTemplate="/routing-instances/routing-instance/{routing-instance-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="routing-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/site-pair-sets/site-pair-set/{site-pair-set-id}",requiredProps="site-pair-set-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="site-pair-set-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="route-target">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Route target information",container="route-targets",dependentOn="vpn-binding",canBeLinked="true",uriTemplate="/route-targets/route-target/{global-route-target}/{route-target-role}",requiredProps="global-route-target,route-target-role")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="global-route-target" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Number used to identify an RT, globally unique in the network")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-target-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Role assigned to this route target")</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.onap.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="route-targets">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of route target information")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:route-target" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpn-binding">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="VPN binding",nameProps="vpn-name,vpn-type",indexedProps="vpn-name,vpn-id,vpn-type",searchable="vpn-id,vpn-name",uniqueProps="vpn-id",container="vpn-bindings",namespace="network",uriTemplate="/network/vpn-bindings/vpn-binding/{vpn-id}",requiredProps="vpn-id,vpn-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vpn-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="VPN Name")</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.onap.aai.annotations.Metadata(description="the platform associated with the VPN example AVPN, Mobility")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Type of the vpn, should be taken from enumerated/valid values")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-region" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="region of customer vpn")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="customer-vpn-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="id for this customer vpn")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-distinguisher" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network.")</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.onap.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:route-targets" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpls-pe">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="VPLS Provider Edge routers.",indexedProps="prov-status,equipment-name",container="vpls-pes",namespace="network",uriTemplate="/network/vpls-pes/vpls-pe/{equipment-name}",requiredProps="equipment-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="equipment-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="multicast-configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="multicast-configuration-id",uniqueProps="multicast-configuration-id",container="multicast-configurations",namespace="network",uriTemplate="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="multicast-configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="protocol of multicast configuration")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="rp-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cvlan-tag-entry">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(dependentOn="port-group",indexedProps="cvlan-tag",container="cvlan-tags",uriTemplate="/cvlan-tags/cvlan-tag/{cvlan-tag}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cvlan-tag" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="port-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/port-groups/port-group/{interface-id}",requiredProps="interface-id,orchestration-status")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="license">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Metadata for license group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce",container="licenses",uriTemplate="/licenses/license/{group-uuid}/{resource-uuid}",requiredProps="group-uuid,resource-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID for the license group the resource belongs to, should be uuid.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of a license resource. ")</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.onap.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="licenses">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:license" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="entitlement">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Metadata for entitlement group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce",container="entitlements",uriTemplate="/entitlements/entitlement/{group-uuid}/{resource-uuid}",requiredProps="group-uuid,resource-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID for the entitlement group the resource comes from, should be uuid.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of an entitlement resource. ")</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.onap.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="entitlements">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Entitlements, keyed by group-uuid and resource-uuid, related to license management")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:entitlement" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vce">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/vces/vce/{vnf-id}",requiredProps="vnf-id,vnf-name,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED.")</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.onap.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.onap.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-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="OBSOLETE -  see child relationships")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:port-groups" minOccurs="0"/>
+        <xs:element ref="tns:licenses" minOccurs="0"/>
+        <xs:element ref="tns:entitlements" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnfc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id",searchable="vnfc-name",container="vnfcs",namespace="network",uriTemplate="/network/vnfcs/vnfc/{vnfc-name}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnfc-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of vnfc.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nfc-naming-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Short code that is used in naming instances of the item being modeled")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nfc-function" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service")</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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Group notation of VNFC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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>
+        <xs:element name="persona-model-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal")</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.onap.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="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnfcs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="host-route">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="host-route-id",dependentOn="subnet",container="host-routes",uriTemplate="/host-routes/host-route/{host-route-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="host-route-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="host-route id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-prefix" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="subnet prefix")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="next-hop" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Could be ip-address, hostname, or service-instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="next-hop-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Should be ip-address, hostname, or service-instance to match next-hop")</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.onap.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="host-routes">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:host-route" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="subnet">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="subnet-id,subnet-name",nameProps="subnet-name",uniqueProps="subnet-id",dependentOn="l3-network",container="subnets",uriTemplate="/subnets/subnet/{subnet-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="subnet-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="the last address reserved for use by dhcp")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="subnet-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role of the subnet, referenced when assigning IPs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ip-assignment-direction" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ip address assignment direction of the subnet")</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.onap.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="subnet-sequence" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="sequence of the subnet")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:host-routes" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ctag-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="vlan-id-inner",dependentOn="l3-network",container="ctag-assignments",uriTemplate="/ctag-assignments/ctag-assignment/{vlan-id-inner}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="segmentation-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack segmentation assignment.",indexedProps="segmentation-id",dependentOn="l3-network",container="segmentation-assignments",uriTemplate="/segmentation-assignments/segmentation-assignment/{segmentation-id}",requiredProps="segmentation-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="segmentation-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Generic network definition",nameProps="network-name",indexedProps="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",searchable="network-id,network-name",uniqueProps="network-id",container="l3-networks",namespace="network",uriTemplate="/network/l3-networks/l3-network/{network-id}",requiredProps="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Unique identifier of service from ASDC.  Does not strictly map to ASDC services.  SOON TO BE DEPRECATED")</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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Contrail FQDN for the network")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-shared-network" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-external-network" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.")</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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-networks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:l3-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-policy">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(nameProps="network-policy-fqdn",indexedProps="network-policy-id,network-policy-fqdn",searchable="network-policy-id,network-policy-fqdn",uniqueProps="network-policy-id",container="network-policies",namespace="network",uriTemplate="/network/network-policies/network-policy/{network-policy-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-policy-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID representing unique key to this instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-policy-fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Contrail FQDN for the policy")</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.onap.aai.annotations.Metadata(description="ID for the openStack Heat 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.onap.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="network-policies">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:network-policy" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vf-module">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="a deployment unit of VNFCs",indexedProps="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",searchable="vf-module-id,vf-module-name",dependentOn="generic-vnf",container="vf-modules",uriTemplate="/vf-modules/vf-module/{vf-module-id}",requiredProps="vf-module-id,is-base-vf-module")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vf-module-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of vf-module.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-module-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of vf-module")</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.onap.aai.annotations.Metadata(description="Heat stack id corresponding to this instance.")</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.onap.aai.annotations.Metadata(description="orchestration status of this vf-module, mastered by MSO")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-base-vf-module" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="the Contrail unique ID for a service-instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="module-index" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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")</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.onap.aai.annotations.Metadata(description="Path to the controller object.")</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="vf-modules">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:vf-module" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generic-vnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role",searchable="vnf-id,vnf-name,vnf-name2",uniqueProps="vnf-id",container="generic-vnfs",namespace="network",extendsFrom="vnf",containsSuggestibleProps="true",suggestionAliases="VNFs",uriTemplate="/network/generic-vnfs/generic-vnf/{vnf-id}",requiredProps="vnf-id,vnf-type,in-maint,is-closed-loop-disabled")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vnf instance id.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Unique identifier of service, does not necessarily map to ASDC service models.  SOON TO BE DEPRECATED")</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.onap.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.onap.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.",suggestibleOnSearch="true")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.  Valid values are in-service-path and out-of-service-path.")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.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.onap.aai.annotations.Metadata(description="Orchestration status of this VNF, used by MSO.",suggestibleOnSearch="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-package-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-discriptor-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vnf discriptor name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="job-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="job id corresponding to vnf")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="identifier of managed by ATT or 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.onap.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.onap.aai.annotations.Metadata(description="v4 Loopback0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nm-lan-v6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 Loopback address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="management-v6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 management address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcpu" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcpu-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vmemory" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vmemory-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdisk" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdisk-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nshd" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of associated SHD in vnf.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nvm" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vms in vnf.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nnet" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of network in vnf.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-closed-loop-disabled" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD.")</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.onap.aai.annotations.Metadata(description="indicates whether generic-vnf access uses SSH")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="entitlement-assignment-group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the Entitlement group used for licensing VNFs, OBSOLETE -  See child relationships.")</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.onap.aai.annotations.Metadata(description="UUID of the specific entitlement resource.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="license-assignment-group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the license assignment group.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="license-key-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the actual license resource.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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="as-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="as-number of the VNF")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="regional-resource-subzone" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="represents sub zone of the rr plane")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Generic description of the type of NF",suggestibleOnSearch="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-function" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English description of Network function that the specific VNF deployment is providing")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role in the network that this model will be providing",suggestibleOnSearch="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-naming-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="string assigned to this model used for naming purposes")</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.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Gateway 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.onap.aai.annotations.Metadata(description="Prefix length for oam-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.onap.aai.annotations.Metadata(description="Temporary location for S-TAG to get to VCE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nm-profile-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Network Management profile of this VNF")</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:element ref="tns:licenses" minOccurs="0"/>
+        <xs:element ref="tns:entitlements" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generic-vnfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of VNFs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:generic-vnf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-link">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="LAG links can connect lag-interfaces",indexedProps="link-name",container="lag-links",namespace="network",uriTemplate="/network/lag-links/lag-link/{link-name}",requiredProps="link-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Alphabetical concatenation of lag-interface names")</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.onap.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="lag-links">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of link aggregation connections")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:lag-link" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="newvce">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/newvces/newvce/{vnf-id2}",requiredProps="vnf-id2,vnf-name,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.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="operational-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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="newvces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:newvce" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE.",indexedProps="pnf-name,orchestration-status,inv-status",searchable="pnf-name",uniqueProps="pnf-name",container="pnfs",namespace="network",uriTemplate="/network/pnfs/pnf/{pnf-name}",requiredProps="pnf-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="unique name of Physical Network Function.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="name of Physical Network Function.")</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.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-name2-source" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="source of name2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="id of pnf")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-model" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</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.onap.aai.annotations.Metadata(description="identifier of managed by ATT or customer")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="sw-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="frame-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="serial-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Serial number of the device")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 OAM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI.")</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.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Nf Role is the role performed by this instance in the network.")</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="pnfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="physical-link">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",searchable="link-name,circuit-id",uriTemplate="/network/physical-links/physical-link/{link-name}",requiredProps="link-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-provider-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the service Provider on this link.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-up-value" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Upstream Bandwidth value agreed with the service provider")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-up-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Units for the upstream BW value")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-down-value" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Downstream Bandwidth value agreed with the service provider")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-down-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Units for downstream BW value")</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.onap.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="physical-links">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vig-server">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/vig-servers/vig-server/{vig-address-type}",requiredProps="vig-address-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vig-address-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ipaddress-v4-vig" type="xs:string" minOccurs="0" maxOccurs="5000">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v4 IP of the vig server")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-vig" type="xs:string" minOccurs="0" maxOccurs="5000">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 IP of the vig server")</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.onap.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="vig-servers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vig-server" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ipsec-configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}",requiredProps="ipsec-configuration-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="ipsec-configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID of this configuration")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="requested-vig-address-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="requested-encryption-strength" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="requested-dmz-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ATT can offer a shared DMZ or a DMZ specific to a customer")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="shared-dmz-network-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Network address of shared DMZ")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="requested-customer-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ike-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="can be 1 or 2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-authentication" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Contains values like md5, sha1, sha256, sha384")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-encryption" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-dh-group" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-am-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-am-password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="pre-shared key for the above group name ")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-sa-lifetime" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Lifetime for IKEv1 SA")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-authentication" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="md5, sha1, sha256, sha384")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-encryption" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ipsec-sa-lifetime" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Life time for IPSec SA")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-pfs" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="enable PFS or not")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="xauth-userid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="user ID for xAuth, sm-user,ucpeHostName,nmteHostName")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="xauth-user-password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Encrypted using the Juniper $9$ algorithm")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dpd-interval" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The time between DPD probe")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dpd-frequency" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Maximum number of DPD before claiming the tunnel is down")</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.onap.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:vig-servers" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ipsec-configurations">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ipsec-configuration" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="route-table-reference">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/route-table-references/route-table-reference/{route-table-reference-id}",requiredProps="route-table-reference-id,route-table-reference-fqdn")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="route-table-reference-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="route-table-reference-fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="route-table-references">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack route table references")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:route-table-reference" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="General mechanism for grouping instances",nameProps="description",uniqueProps="id",searchable="id,description",indexedProps="id,description,type,sub-type",container="instance-groups",namespace="network",uriTemplate="/network/instance-groups/instance-group/{id}",requiredProps="id,description,type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="instance-group-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role of the instance group.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.onap.aai.annotations.Metadata(description="ASDC model version uid for this resource model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Instance Group ID, UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Descriptive text to help identify the usage of this instance-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Only valid value today is lower case ha for high availability",dbAlias="instance-group-type")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="sub-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]")</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.onap.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="instance-groups">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack route table references")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:instance-group" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="zone">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="A zone is a grouping of assets in a location homing to the same connections into the CBB",nameProps="zone-name",indexedProps="zone-id,design-type,zone-context",uniqueProps="zone-id",container="zones",namespace="network",uriTemplate="/network/zones/zone/{zone-id}",requiredProps="zone-id,zone-name,design-type,zone-context")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="zone-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Code assigned by AIC to the zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English name associated with the zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="design-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Design of zone [Medium/Large…]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="zone-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Context of zone [production/test]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Status of a zone.")</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.onap.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="zones">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of zones")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:zone" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarder-evc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="forwarder object is an optional child object of the Configuration object.",dependentOn="configuration",uniqueProps="forwarder-evc-id",container="forwarder-evcs",uriTemplate="/forwarder-evcs/forwarder-evc/{forwarder-evc-id}",requiredProps="forwarder-evc-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="forwarder-evc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Key for forwarder-evc object")</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.onap.aai.annotations.Metadata(description="Circuit ID from customer/ESP/ingress end of EVC, or reference to beater circuit on gateway/network/egress end of EVC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ivlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Internal VLAN.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="svlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="SVLAN value for ingress of egress forwarder.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cvlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CVLAN value for ingress of egress forwarder.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <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.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarder-evcs">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:forwarder-evc" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="evc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="evc object is an optional child object of the Configuration object.",dependentOn="configuration",uniqueProps="evc-id",container="evcs",uriTemplate="/evcs/evc/{evc-id}",requiredProps="evc-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="evc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique/key field for the evc object")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="forwarding-path-topology" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Point-to-Point, Multi-Point")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cir-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Commited Information Rate")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cir-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CIR units")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="connection-diversity-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Diversity Group ID")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-hours" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="formerly Performance Group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esp-evc-circuit-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="EVC Circuit ID of ESP EVC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esp-evc-cir-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Committed Information Rate (For ESP)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esp-evc-cir-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CIR units (For ESP)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esp-itu-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Identifies ESP")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collector-pop-clli" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Collector POP CLLI (from the hostname of the access pnf)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inter-connect-type-ingress" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Interconnect type on ingress side of EVC.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tagmode-access-ingress" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="tagode for collector side of EVC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tagmode-access-egress" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="tagMode for network side of EVC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <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.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="evcs">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:evc" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Generic configuration object.",indexedProps="configuration-id,model-invariant-id,model-version-id",uniqueProps="configuration-id",container="configurations",namespace="network",uriTemplate="/network/configurations/configuration/{configuration-id}",requiredProps="configuration-id,configuration-type,configuration-sub-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID assigned to configuration.")</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.onap.aai.annotations.Metadata(description="Indicates the entity that will manage this feature. Could be an organization or the name of the application as well.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="port-mirroring-configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-sub-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vprobe, pprobe.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-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.onap.aai.annotations.Metadata(description="Orchestration status of the configuration.")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details from SDN-GC.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="id of  the configuration used to customize the resource")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tunnel-bandwidth" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="DHV Site Effective Bandwidth")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vendor-allowed-max-bandwidth" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Velocloud Nominal Throughput - VNT")</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.onap.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:metadata" minOccurs="0"/>
+        <xs:element ref="tns:forwarder-evcs" minOccurs="0"/>
+        <xs:element ref="tns:evcs" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="configurations">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of configurations")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:configuration" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarder">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="sequence",description="Entity describing a sequenced segment of forwarding path",container="forwarders",dependentOn="forwarding-path",uriTemplate="/forwarders/forwarder/{sequence}",requiredProps="sequence")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="sequence" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of this segmentation")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="forwarder-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ingress, intermediate, egress")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <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.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarders">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:forwarder" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarding-path">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(namespace="network",indexedProps="forwarding-path-id,forwarding-path-name",description="Entity that describes the sequenced forwarding path between interfaces of services or resources",container="forwarding-paths",nameProps="forwarding-path-name",uniqueProps="forwarding-path-id",uriTemplate="/network/forwarding-paths/forwarding-path/{forwarding-path-id}",requiredProps="forwarding-path-id,forwarding-path-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="forwarding-path-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of this FP")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="forwarding-path-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the FP")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <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.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="the self link for this FP")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:forwarders" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarding-paths">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:forwarding-path" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for network inventory resources.")</annox:annotate>
+        </xs:appinfo>
+      </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: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:element ref="tns:instance-groups" minOccurs="0"/>
+        <xs:element ref="tns:zones" minOccurs="0"/>
+        <xs:element ref="tns:configurations" minOccurs="0"/>
+        <xs:element ref="tns:forwarding-paths" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="reserved-prop-names">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Internal map to define some reserved properties of a vertex",uniqueProps="aai-unique-key,aai-uri,aai-uuid",indexedProps="aai-unique-key,source-of-truth,aai-node-type,aai-uri,aai-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="last-mod-source-of-truth" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-created-ts" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="aai-unique-key" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-last-mod-ts" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="source-of-truth" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-uri" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-uuid" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="edge-prop-names">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Internal map to define the properties of an edge and interpret the map EdgeRules",edgeInfo="aaiUuid,edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV",uniqueProps="aai-uuid",indexedProps="aai-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="edgeLabel" type="xs:string" minOccurs="0"/>
+        <xs:element name="direction" type="xs:string" minOccurs="0"/>
+        <xs:element name="multiplicityRule" type="xs:string" minOccurs="0"/>
+        <xs:element name="contains-other-v" type="xs:string" minOccurs="0"/>
+        <xs:element name="delete-other-v" type="xs:string" minOccurs="0"/>
+        <xs:element name="SVC-INFRA" type="xs:string" minOccurs="0"/>
+        <xs:element name="prevent-delete" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-uuid" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="aai-internal">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:reserved-prop-names" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:edge-prop-names" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="notification-event-header">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0"/>
+        <xs:element name="timestamp" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="domain" type="xs:string" minOccurs="0"/>
+        <xs:element name="sequence-number" type="xs:string" minOccurs="0"/>
+        <xs:element name="severity" type="xs:string" minOccurs="0"/>
+        <xs:element name="event-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="version" type="xs:string" minOccurs="0"/>
+        <xs:element name="action" type="xs:string" minOccurs="0"/>
+        <xs:element name="entity-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="top-entity-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="entity-link" type="xs:string" minOccurs="0"/>
+        <xs:element name="status" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="notification-event">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="cambria.partition" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:notification-event-header" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="overloaded-model">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Allows for legacy POST of old-style and new-style models",requiredProps="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-name-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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-vers" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="query-parameters">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="QueryParameters for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:named-query" minOccurs="0"/>
+        <xs:element ref="tns:overloaded-model" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-filter">
+    <xs:complexType>
+      <xs:sequence/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-filters">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="InstanceFilters for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:instance-filter" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="secondary-filt">
+    <xs:complexType>
+      <xs:sequence/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="secondary-filts">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="SecondaryFilts for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:secondary-filt" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-and-named-query-search">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:query-parameters" minOccurs="0"/>
+        <xs:element ref="tns:instance-filters" minOccurs="0"/>
+        <xs:element ref="tns:secondary-filts" minOccurs="0"/>
+        <xs:element name="top-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="secondary-filter-cut-point" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="properties">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Property holder for query properties or instance properties")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <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-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:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inventory-response-item">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Inventory item for response list",container="inventory-response-items")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-name" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:extra-properties" minOccurs="0"/>
+        <xs:element ref="tns:inventory-response-items" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inventory-response-items">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Container for inventory items in response list",container="response-list")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:inventory-response-item" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="response-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Response container for the results of a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:inventory-response-items" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Abstract vnf class",indexedProps="vnf-id",uniqueProps="vnf-id",inheritors="vce,generic-vnf",isAbstract="true",requiredProps="vnf-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:element name="inventory">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:search" minOccurs="0"/>
+        <xs:element ref="tns:actions" minOccurs="0"/>
+        <xs:element ref="tns:cloud-infrastructure" minOccurs="0"/>
+        <xs:element ref="tns:external-system" minOccurs="0"/>
+        <xs:element ref="tns:business" minOccurs="0"/>
+        <xs:element ref="tns:service-design-and-creation" minOccurs="0"/>
+        <xs:element ref="tns:network" minOccurs="0"/>
+        <xs:element ref="tns:aai-internal" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
diff --git a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v13.xsd b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v13.xsd
new file mode 100644 (file)
index 0000000..abe2a0d
--- /dev/null
@@ -0,0 +1,8246 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://org.onap.aai.inventory/v13" xmlns:tns="http://org.onap.aai.inventory/v13" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+    jaxb:version="2.1"
+    xmlns:annox="http://annox.dev.java.net"
+    jaxb:extensionBindingPrefixes="annox">
+
+  <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="5000"/>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="5000"/>
+      </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="edge-tag-query-result">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="5000"/>
+      </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="edge-tag-query-request">
+    <xs:complexType>
+      <xs:sequence>
+        <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="5000"/>
+        <xs:element ref="tns:include-node-filter" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:secondary-filter" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="result-data">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="The URL to the specific resource")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="resource-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="search-results">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:result-data" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship-data">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Value of the attribute.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="relationship-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="A keyword provided by A&amp;AI to indicate an attribute.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="relationship-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Value of the attribute.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-to-property">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Value part of a key/value pair")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="property-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Key part of a key/value pair")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="property-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Value part of a key/value pair")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="URL to the object in A&amp;AI.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="related-to" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="relationship-label" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The edge label for this relationship.")</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.onap.aai.annotations.Metadata(description="URL to the object in A&amp;AI.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-data" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:related-to-property" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship-list">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:relationship" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="oam-network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/oam-networks/oam-network/{network-uuid}",requiredProps="network-uuid,network-name,cvlan-tag")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="network-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the network.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cvlan-tag" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="cvlan-id")</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.onap.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="ipv4-oam-gateway-address-prefix-length" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="oam-networks">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:oam-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dvs-switch">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/dvs-switches/dvs-switch/{switch-name}",requiredProps="switch-name,vcenter-url")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="switch-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="DVS switch name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcenter-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL used to reach the vcenter")</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.onap.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="dvs-switches">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of digital virtual switch metadata used for vmWare VCEs and GenericVnfs.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:dvs-switch" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="availability-zone">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Availability zone, a collection of compute hosts/pservers",indexedProps="availability-zone-name",dependentOn="cloud-region",container="availability-zones",uriTemplate="/availability-zones/availability-zone/{availability-zone-name}",requiredProps="availability-zone-name,hypervisor-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="availability-zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="hypervisor-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="operational-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values.")</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.onap.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="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="5000"/>
+      </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="update">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team.",requiredProps="update-node-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="update-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:update-node-key" minOccurs="0" maxOccurs="5000"/>
+        <xs:element name="update-node-uri" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:action" minOccurs="0" maxOccurs="5000"/>
+      </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" minOccurs="0"/>
+        <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="5000"/>
+        <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.onap.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.onap.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",uriTemplate="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}",requiredProps="target-pe,availability-zone-name,ctag-pool-purpose")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="target-pe" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="The Target provider edge router")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="availability-zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the availability zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ctag-pool-purpose" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Describes what the intended purpose of this pool is.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ctag-values" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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-pools">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ctag-pool" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="complex">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/cloud-infrastructure/complexes/complex/{physical-location-id}",requiredProps="physical-location-id,physical-location-type,street1,city,postal-code,country,region")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="physical-location-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="data-center-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="complex-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Gamma complex name for LCP instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="identity-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL of the keystone identity service")</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.onap.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="physical-location-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <xs:element name="street2" type="xs:string" minOccurs="0"/>
+        <xs:element name="city" type="xs:string" minOccurs="0"/>
+        <xs:element name="state" type="xs:string" minOccurs="0"/>
+        <xs:element name="postal-code" type="xs:string" minOccurs="0"/>
+        <xs:element name="country" type="xs:string" minOccurs="0"/>
+        <xs:element name="region" type="xs:string" minOccurs="0"/>
+        <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="complexes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of physical locations that can house cloud-regions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:complex" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persistent block-level storage.",indexedProps="volume-group-name,vnf-type,heat-stack-id,volume-group-id",searchable="volume-group-id,volume-group-name",dependentOn="cloud-region",container="volume-groups",uriTemplate="/volume-groups/volume-group/{volume-group-id}",requiredProps="volume-group-id,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="volume-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of volume-group.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="volume-group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the volume group.")</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.onap.aai.annotations.Metadata(description="Heat stack id corresponding to this volume-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Orchestration status of this volume-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-module-model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="helps relate the volume group to the vf-module whose components will require the volume group")</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.onap.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="volume-groups">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Ephemeral Block storage volume.",indexedProps="volume-id",dependentOn="vserver",container="volumes",uriTemplate="/volumes/volume/{volume-id}",requiredProps="volume-id,volume-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="volume-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="volume-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="volumes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of ephemeral Block storage volumes.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:volume" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-interface-ipv4-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,vnfc",uriTemplate="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}",requiredProps="l3-interface-ipv4-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="l3-interface-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="l3-interface-ipv4-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 32 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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-interface-ipv6-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,vnfc",uriTemplate="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}",requiredProps="l3-interface-ipv6-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="l3-interface-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="l3-interface-ipv6-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 128 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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="vlan">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Definition of vlan",indexedProps="vlan-interface,vlan-id-inner,vpn-key",dependentOn="l-interface",container="vlans",uriTemplate="/vlans/vlan/{vlan-interface}",requiredProps="vlan-interface,in-maint,is-ip-unnumbered")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-interface" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="String that identifies the interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.aai.annotations.Metadata(description="Outer VLAN tag")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Used to describe (the service associated with) the vlan")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="backdoor-connection" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vpn-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This indicates the customers VPN ID associated with this vlan")</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.onap.aai.annotations.Metadata(description="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV].")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-ip-unnumbered" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="Flag indicating the interface uses the IP Unnumbered configuration.")</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="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vlans">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vlan" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sriov-vf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/sriov-vfs/sriov-vf/{pci-id}",requiredProps="pci-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pci-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-vlan-filter" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-mac-filter" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-vlan-strip" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="sriov-vfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of SR-IOV Virtual Functions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:sriov-vf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Logical interfaces, e.g., a vnic.",indexedProps="macaddr,interface-id,interface-name,network-name",dependentOn="generic-vnf,newvce,p-interface,vserver,lag-interface,l-interface",container="l-interfaces",uriTemplate="/l-interfaces/l-interface/{interface-name}",requiredProps="interface-name,is-port-mirrored,in-maint,is-ip-unnumbered")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="E.g., CUSTOMER, UPLINK, etc.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="v6-wan-link-ip" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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>
+        <xs:element name="interface-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Human friendly text regarding this interface.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-port-mirrored" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not port is a mirrored.")</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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV].")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-ip-unnumbered" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="Flag indicating the interface uses the IP Unnumbered configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="allowed-address-pairs" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Freeform field for storing an ip address, list of ip addresses or a subnet block.")</annox:annotate>
+            </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:l-interfaces" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l3-interface-ipv4-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l-interfaces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vserver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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-id,vserver-name,vserver-name2",dependentOn="tenant",container="vservers",uriTemplate="/vservers/vserver/{vserver-id}",requiredProps="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vserver-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vserver-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of vserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vserver-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Alternative name of vserver")</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.onap.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="vserver-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-closed-loop-disabled" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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: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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tenant">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack tenant",nameProps="tenant-name",indexedProps="tenant-name,tenant-id,tenant-context",searchable="tenant-id,tenant-name",dependentOn="cloud-region",container="tenants",uriTemplate="/tenants/tenant/{tenant-id}",requiredProps="tenant-id,tenant-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="tenant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Readable name of tenant")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tenant-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This field will store the tenant context.")</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.onap.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: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.onap.aai.annotations.Metadata(description="Collection of openstack tenants.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:tenant" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="hpa-feature-attributes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="HPA Capability Feature attributes",indexedProps="hpa-attribute-key",dependentOn="hpa-capability",requiredProps="hpa-attribute-key")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hpa-attribute-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="name of the specific HPA attribute")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="hpa-attribute-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="JSON string specifying the value, unit and type of the specific HPA attribute")</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.onap.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="hpa-capability">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents a HPA capability",indexedProps="hpa-feature,architecture,hpa-capability-id",dependentOn="flavor,cloud-region",container="hpa-capabilities",requiredProps="hpa-capability-id,hpa-feature")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hpa-capability-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID to uniquely identify a HPA capability")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="hpa-feature" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the HPACapability")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="hpa-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="HPA schema version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="architecture" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Hardware architecture")</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.onap.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:hpa-feature-attributes" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="hpa-capabilities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of HPA Capabilities")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:hpa-capability" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="flavor">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack flavor.",nameProps="flavor-name",indexedProps="flavor-name,flavor-id",dependentOn="cloud-region",container="flavors",uriTemplate="/flavors/flavor/{flavor-id}",requiredProps="flavor-id,flavor-name,flavor-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="flavor-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="flavor-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Flavor name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-vcpus" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Number of CPUs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-ram" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Amount of memory")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-disk" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Disk space")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-ephemeral" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Amount of ephemeral disk space")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-swap" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="amount of swap space allocation")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-is-public" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="flavor-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Boolean as to whether this flavor is no longer enabled")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:hpa-capabilities" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="List of flavor specific HPA Capabilities")</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.onap.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="flavors">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack flavors.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:flavor" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="group-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack group-assignment used to store exclusivity groups (EG).",nameProps="group-name",indexedProps="group-id,group-type,group-name",searchable="group-id,group-name",dependentOn="cloud-region",container="group-assignments",uriTemplate="/group-assignments/group-assignment/{group-id}",requiredProps="group-id,group-type,group-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="group-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Group description - description of the group")</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.onap.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="group-assignments">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack group assignments")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:group-assignment" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="snapshot">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/snapshots/snapshot/{snapshot-id}",requiredProps="snapshot-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="snapshot-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="snapshot-os-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="This field contains the UUID of the previous snapshot (if any).")</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.onap.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="snapshots">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack snapshots")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:snapshot" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="metadatum">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Key/value pairs",indexedProps="metaname",dependentOn="tenant,image,service-instance,connector,model",container="metadata",uriTemplate="/metadata/metadatum/{metaname}",requiredProps="metaname,metaval")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="metaname" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true)</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="metaval" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="metadata">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="image">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack image.",nameProps="image-name",indexedProps="application,image-name,application-vendor,image-id,application-version",dependentOn="cloud-region",container="images",uriTemplate="/images/image/{image-id}",requiredProps="image-id,image-name,image-os-distro,image-os-version,image-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="image-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="image-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Image name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-architecture" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Operating system architecture.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-os-distro" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="image-os-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="The version of the application.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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:metadata" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="images">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collectio of Openstack images.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:image" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="availability-zones">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of availability zones")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:availability-zone" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vip-ipv4-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="IPv4 Address Range",indexedProps="vip-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="cloud-region",uriTemplate="/vip-ipv4-address-list/{vip-ipv4-address}",requiredProps="vip-ipv4-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vip-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vip-ipv4-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 32 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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="vip-ipv6-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="IPv6 Address Range",indexedProps="vip-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="cloud-region",uriTemplate="/vip-ipv6-address-list/{vip-ipv6-address}",requiredProps="vip-ipv6-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vip-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vip-ipv6-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 128 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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="esr-system-info">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist common address information of external systems.",indexedProps="esr-system-info-id,system-name,system-type",searchable="esr-system-info-id,system-name,system-type",container="esr-system-info-list",dependentOn="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc",requiredProps="esr-system-info-id,user-name,password,system-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="esr-system-info-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of esr system info.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="name of external system.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="type of external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vendor of external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="version of external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="url used to access external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="user-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="username used to access external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="password used to access external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="it could be vim/vnfm/thirdparty-sdnc/ems-resource/ems-performance/ems-alarm.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="protocol" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="protocol of third party SDNC, for example netconf/snmp.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ssl-cacert" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ca file content if enabled ssl on auth-url.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ssl-insecure" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Whether to verify VIM's certificate.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ip-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="service IP of ftp server.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="service port of ftp server.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-domain" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="domain info for authentication.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="default-tenant" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="default tenant of VIM.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="passive" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ftp passive mode or not.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="remote-path" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="resource or performance data file path.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="the status of external system.")</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.onap.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="esr-system-info-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of persistent block-level external system auth info.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-system-info" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-region">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="cloud-region designates an installation of a cloud cluster or region or instantiation.",indexedProps="cloud-owner,cloud-region-id,cloud-type,owner-defined-type",nameProps="owner-defined-type",container="cloud-regions",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}",requiredProps="cloud-owner,cloud-region-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cloud-owner" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="cloud-region-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="cloud-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Type of the cloud (e.g., openstack)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="owner-defined-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Cloud-owner defined type indicator (e.g., dcp, lcp)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-region-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Software version employed at the site.  NOTE - THIS FIELD IS NOT KEPT UP TO DATE.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="identity-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL of the keystone identity service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-zone" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Zone where the cloud is homed.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="complex-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="complex name for cloud-region instance.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="sriov-automation" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Whether the cloud region supports (true) or does not support (false) SR-IOV automation.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-extra-info" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ESR inputs extra information about the VIM or Cloud which will be decoded by MultiVIM.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-epa-caps" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="MultiVIM will discover and expose EPA capabilities.")</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.onap.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: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:element ref="tns:vip-ipv4-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:vip-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:hpa-capabilities" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="List of cloud-region specific HPA Capabilities")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:esr-system-info-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-regions">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:cloud-region" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-profile">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Network profile populated by SDN-GP for SNMP",indexedProps="nm-profile-name",container="network-profiles",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}",requiredProps="nm-profile-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="nm-profile-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique name of network profile.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="community-string" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Encrypted SNMP community string")</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.onap.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="network-profiles">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sriov-pf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="SR-IOV Physical Function",indexedProps="pf-pci-id",dependentOn="p-interface",container="sriov-pfs",uriTemplate="/sriov-pfs/sriov-pf/{pf-pci-id}",requiredProps="pf-pci-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pf-pci-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Identifier for the sriov-pf")</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.onap.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="sriov-pfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of SR-IOV Physical Functions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:sriov-pf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="p-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Physical interface (e.g., nic)",indexedProps="interface-name,prov-status",nameProps="prov-status",dependentOn="vpls-pe,pserver,pnf",container="p-interfaces",uriTemplate="/p-interfaces/p-interface/{interface-name}",requiredProps="interface-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name that identifies the physical interface")</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.onap.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-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Nature of the services and connectivity on this port.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equipment-identifier" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CLEI or other specification for p-interface hardware.")</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.onap.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.onap.aai.annotations.Metadata(description="Indicates the physical properties of the interface.")</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.onap.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="mac-addresss" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="MAC Address of the p-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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="inventory status")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:sriov-pfs" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Link aggregate interface",indexedProps="interface-name,interface-id,interface-role",dependentOn="generic-vnf,pserver,vpls-pe,pnf",container="lag-interfaces",uriTemplate="/lag-interfaces/lag-interface/{interface-name}",requiredProps="interface-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name that identifies the link aggregate interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="interface-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Human friendly text regarding this 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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</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.onap.aai.annotations.Metadata(description="ID of 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.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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 ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-interfaces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of link aggregate interfaces.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:lag-interface" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pserver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,inv-status",searchable="hostname,pserver-name2,pserver-id,ipv4-oam-address",uniqueProps="hostname",container="pservers",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/pservers/pserver/{hostname}",requiredProps="hostname,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hostname" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ptnii-equip-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="PTNII name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="number-of-cpus" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Number of cpus")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="disk-in-gigabytes" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Disk size, in GBs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ram-in-megabytes" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="RAM size, in MBs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-model" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Fully-qualified domain name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pserver-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</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.onap.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="serial-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Serial number, may be queried")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 OAM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pserver-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ID of Pserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="internet-topology" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="internet topology of Pserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="purpose of pserver")</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.onap.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]")</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.onap.aai.annotations.Metadata(description="Indicates who owns and or manages the device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="host-profile" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The host profile that defines the configuration of the pserver.")</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="pservers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of compute hosts.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:pserver" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="virtual-data-center">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}",requiredProps="vdc-id,vdc-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vdc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of the vdc")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdc-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the virtual data center")</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.onap.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="virtual-data-centers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:virtual-data-center" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="operational-environment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="It is a logical partition of the cloud which allows to have multiple environments in the production AIC.",indexedProps="operational-environment-id",nameProps="operational-environment-name",uniqueProps="operational-environment-id",container="operational-environments",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/operational-environments/operational-environment/{operational-environment-id}",requiredProps="operational-environment-id,operational-environment-name,operational-environment-type,operational-environment-status,tenant-context,workload-context")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="operational-environment-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID of an operational environment")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="operational-environment-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Operational Environment name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="operational-environment-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Operational Environment Type.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="operational-environment-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Status")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tenant-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Tenant Context.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="workload-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Workload Context.")</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.onap.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="operational-environments">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="a logical partition of the cloud which allows to have multiple environments in the production AIC.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:operational-environment" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-infrastructure">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for cloud infrastructure.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <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:element ref="tns:operational-environments" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-ems">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist EMS address information used by EMS driver.",indexedProps="ems-id",searchable="ems-id",container="esr-ems-list",namespace="external-system",requiredProps="ems-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="ems-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of EMS.")</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.onap.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:esr-system-info-list" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-ems-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-ems" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-vnfm">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist VNFM address information used by VF-C.",indexedProps="vnfm-id",searchable="vnfm-id",container="esr-vnfm-list",namespace="external-system",requiredProps="vnfm-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnfm-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of VNFM.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vim-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="indecate the VIM to deploy VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="certificate-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="certificate url of VNFM.")</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.onap.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:esr-system-info-list" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-vnfm-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-vnfm" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-thirdparty-sdnc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist SDNC address information used by ONAP SDNC.",indexedProps="sdnc-id",searchable="sdnc-id",container="esr-thirdparty-sdnc-list",namespace="external-system",requiredProps="thirdparty-sdnc-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="thirdparty-sdnc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of SDNC.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="location" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="used for DC type to indicate the location of SDNC, such as Core or Edge.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="product-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="password used to access SDNC server.")</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.onap.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:esr-system-info-list" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-thirdparty-sdnc-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-thirdparty-sdnc" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="external-system">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for external system.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-ems-list" minOccurs="0"/>
+        <xs:element ref="tns:esr-vnfm-list" minOccurs="0"/>
+        <xs:element ref="tns:esr-thirdparty-sdnc-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="connector">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of resource instances used to connect a variety of disparate inventory widgets",indexedProps="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version",container="connectors",namespace="business",uriTemplate="/business/connectors/connector/{resource-instance-id}",requiredProps="resource-instance-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="resource-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique id of resource 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.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{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.onap.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.onap.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="connectors">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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 ref="tns:connector" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tunnel-xconnect">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted",uniqueProps="id",indexedProps="id",dependentOn="allotted-resource",container="tunnel-xconnects",uriTemplate="/tunnel-xconnects/tunnel-xconnect/{id}",requiredProps="id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Allotted Resource id UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-up-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN uplink bandwidth for WAN1")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-down-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN downlink bandwidth for WAN1")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-up-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN uplink bandwidth for WAN2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-down-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN downlink bandwidth for WAN2")</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.onap.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="tunnel-xconnects">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="This object is used to store the specific tunnel cross connect aspects of an allotted resource")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:tunnel-xconnect" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="allotted-resource">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents a slice or partial piece of a resource that gets separately allotted",nameProps="description",uniqueProps="id",indexedProps="id,model-invariant-id,model-version-id,type,role",dependentOn="service-instance",container="allotted-resources",uriTemplate="/allotted-resources/allotted-resource/{id}",requiredProps="id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Allotted Resource id UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The descriptive information assigned to this allotted resource instance")</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.onap.aai.annotations.Metadata(description="Link back to more information in the controller")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.aai.annotations.Metadata(description="Concurrency 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.onap.aai.annotations.Metadata(description="Orchestration status")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Generic description of the type of allotted resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role in the network that this resource will be providing.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:tunnel-xconnects" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="allotted-resources">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="This object is used to store slices of services being offered")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:allotted-resource" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-instance">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a service",indexedProps="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status,environment-context,workload-context",nameProps="service-instance-name",searchable="service-instance-id,service-instance-name",uniqueProps="service-instance-id",dependentOn="service-subscription",container="service-instances",uriTemplate="/service-instances/service-instance/{service-instance-id}",requiredProps="service-instance-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this instance of a service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-instance-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="String capturing type of service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="String capturing the service role.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="environment-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This field will store the environment context assigned to the service-instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="workload-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This field will store the workload context assigned to the service-instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="created-at" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="create time of Network Service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="updated-at" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="last update of Network Service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="short description for service-instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</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.onap.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.onap.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="bandwidth-total" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicates the total bandwidth to be used for this service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-up-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="bandwidth-down-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="bandwidth-up-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="bandwidth-down-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vhn-portal-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL customers will use to access the vHN Portal.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-instance-location-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Orchestration status of this service.")</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:allotted-resources" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-instances">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of service instances")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:service-instance" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-subscription">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Object that group service instances.",indexedProps="service-type",dependentOn="customer",container="service-subscriptions",crossEntityReference="service-instance,service-type",uriTemplate="/service-subscriptions/service-subscription/{service-type}",requiredProps="service-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="temp-ub-sub-account-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-subscriptions">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of objects that group service instances.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:service-subscription" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="customer">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="global-customer-id,subscriber-name",uniqueProps="global-customer-id",container="customers",namespace="business",uriTemplate="/business/customers/customer/{global-customer-id}",requiredProps="global-customer-id,subscriber-name,subscriber-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="global-customer-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="subscriber-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="customers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="line-of-business">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes a line-of-business",indexedProps="line-of-business-name",uniqueProps="line-of-business-name",container="lines-of-business",namespace="business",uriTemplate="/business/lines-of-business/line-of-business/{line-of-business-name}",requiredProps="line-of-business-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="line-of-business-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the line-of-business (product)")</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.onap.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="lines-of-business">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of lines-of-business")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:line-of-business" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="owning-entity">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes an owning-entity",indexedProps="owning-entity-id,owning-entity-name",searchable="owning-entity-id",uniqueProps="owning-entity-id,owning-entity-name",container="owning-entities",namespace="business",uriTemplate="/business/owning-entities/owning-entity/{owning-entity-id}",requiredProps="owning-entity-id,owning-entity-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="owning-entity-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID of an owning entity")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="owning-entity-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Owning entity name")</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.onap.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="owning-entities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of owning-entities")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:owning-entity" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="platform">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes a platform",indexedProps="platform-name",uniqueProps="platform-name",container="platforms",namespace="business",uriTemplate="/business/platforms/platform/{platform-name}",requiredProps="platform-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="platform-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the platform")</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.onap.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="platforms">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of platforms")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:platform" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="project">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes the project",indexedProps="project-name",uniqueProps="project-name",container="projects",namespace="business",uriTemplate="/business/projects/project/{project-name}",requiredProps="project-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="project-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the project deploying a service")</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.onap.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="projects">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of projects")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:project" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="business">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for business related constructs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:connectors" minOccurs="0"/>
+        <xs:element ref="tns:customers" minOccurs="0"/>
+        <xs:element ref="tns:lines-of-business" minOccurs="0"/>
+        <xs:element ref="tns:owning-entities" minOccurs="0"/>
+        <xs:element ref="tns:platforms" minOccurs="0"/>
+        <xs:element ref="tns:projects" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnf-image">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/service-design-and-creation/vnf-images/vnf-image/{vnf-image-uuid}",requiredProps="vnf-image-uuid,application,application-vendor")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-image-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of this asset")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="vnf-images">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:vnf-image" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Stand-in for service model definitions.  Likely to be deprecated in favor of models from ASDC.  Does not strictly map to ASDC services.",indexedProps="service-description,service-id",container="services",namespace="service-design-and-creation",uriTemplate="/service-design-and-creation/services/service/{service-id}",requiredProps="service-id,service-description")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="service-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Description of the service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="service version")</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="services">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-capability">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}",requiredProps="service-type,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="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.")</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.onap.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="service-capabilities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="element-choice-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/element-choice-sets/element-choice-set/{element-choice-set-uuid}",requiredProps="element-choice-set-uuid,element-choice-set-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="element-choice-set-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="constrained-element-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}",requiredProps="constrained-element-set-uuid,constraint-type,check-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="constrained-element-set-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="constraint-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="check-type" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-constraint">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/model-constraints/model-constraint/{model-constraint-uuid}",requiredProps="model-constraint-uuid,constrained-element-set-uuid-to-replace")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-constraint-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <xs:element ref="tns:constrained-element-sets" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-constraints">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:model-constraint" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-element">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/model-elements/model-element/{model-element-uuid}",requiredProps="model-element-uuid,new-data-del-flag,cardinality")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-element-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-ver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models",nameProps="model-name",indexedProps="model-version-id,model-name,model-version,distribution-status",uniqueProps="model-version-id",container="model-vers",uriTemplate="/model-vers/model-ver/{model-version-id}",requiredProps="model-version-id,model-name,model-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="distribution-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Distribution Status")</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.onap.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.onap.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="model-vers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:model-ver" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version",nameProps="model-type",indexedProps="model-invariant-id,model-type",uniqueProps="model-invariant-id",container="models",namespace="service-design-and-creation",uriTemplate="/service-design-and-creation/models/model/{model-invariant-id}",requiredProps="model-invariant-id,model-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-vers" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-lookup">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="related-lookup-uuid",indexedProps="related-lookup-uuid",allowDirectRead="true",allowDirectWrite="false",container="related-lookups",uriTemplate="/related-lookups/related-lookup/{related-lookup-uuid}",requiredProps="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="related-lookup-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="source-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-node-property" type="xs:string" minOccurs="0"/>
+        <xs:element name="target-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="target-node-property" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-collect-list" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="property-constraint">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="property-constraint-uuid",indexedProps="property-constraint-uuid",allowDirectRead="true",allowDirectWrite="false",container="property-constraints",uriTemplate="/property-constraints/property-constraint/{property-constraint-uuid}",requiredProps="property-constraint-uuid,constraint-type,property-name,property-value")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="property-constraint-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="constraint-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-value" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query-element">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="named-query-element-uuid",indexedProps="named-query-element-uuid",allowDirectRead="true",allowDirectWrite="false",container="named-query-elements",uriTemplate="/named-query-elements/named-query-element/{named-query-element-uuid}",requiredProps="named-query-element-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="named-query-element-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/service-design-and-creation/named-queries/named-query/{named-query-uuid}",requiredProps="named-query-uuid,named-query-name,named-query-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="named-query-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true)</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="named-query-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="named-query-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="required-input-params" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="required-input-param" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+            </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-design-and-creation">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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.onap.aai.annotations.Metadata(description="Logical links generally connect l-interfaces but are used to express logical connectivity between two points",indexedProps="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose",uniqueProps="link-id",container="logical-links",namespace="network",searchable="link-name",uriTemplate="/network/logical-links/logical-link/{link-name}",requiredProps="link-name,in-maint,link-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="link-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Indication of operational status of the logical link.")</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.onap.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="link-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="UUID of the logical-link, SDNC generates this.")</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.onap.aai.annotations.Metadata(description="Circuit id")</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.onap.aai.annotations.Metadata(description="Reason for this entity, role it is playing")</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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="class-of-service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="cos",dependentOn="site-pair",container="classes-of-service",uriTemplate="/classes-of-service/class-of-service/{cos}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cos" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="site-pair-id",uniqueProps="site-pair-id",dependentOn="routing-instance",container="site-pairs",uriTemplate="/site-pairs/site-pair/{site-pair-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="site-pair-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="The type of destinatination equipment. Could be Router, UCPE, 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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="routing-instance">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="routing-instance-id",dependentOn="site-pair-set",container="routing-instances",uriTemplate="/routing-instances/routing-instance/{routing-instance-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="routing-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/site-pair-sets/site-pair-set/{site-pair-set-id}",requiredProps="site-pair-set-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="site-pair-set-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="route-target">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Route target information",container="route-targets",dependentOn="vpn-binding",canBeLinked="true",uriTemplate="/route-targets/route-target/{global-route-target}/{route-target-role}",requiredProps="global-route-target,route-target-role")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="global-route-target" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Number used to identify an RT, globally unique in the network")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-target-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Role assigned to this route target")</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.onap.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="route-targets">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of route target information")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:route-target" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpn-binding">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="VPN binding",nameProps="vpn-name,vpn-type",indexedProps="vpn-name,vpn-id,vpn-type",searchable="vpn-id,vpn-name",uniqueProps="vpn-id",container="vpn-bindings",namespace="network",uriTemplate="/network/vpn-bindings/vpn-binding/{vpn-id}",requiredProps="vpn-id,vpn-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vpn-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="VPN Name")</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.onap.aai.annotations.Metadata(description="the platform associated with the VPN example AVPN, Mobility")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Type of the vpn, should be taken from enumerated/valid values")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-region" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="region of customer vpn")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="customer-vpn-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="id for this customer vpn")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-distinguisher" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network.")</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.onap.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:route-targets" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpls-pe">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="VPLS Provider Edge routers.",indexedProps="prov-status,equipment-name",container="vpls-pes",namespace="network",uriTemplate="/network/vpls-pes/vpls-pe/{equipment-name}",requiredProps="equipment-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="equipment-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="multicast-configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="multicast-configuration-id",uniqueProps="multicast-configuration-id",container="multicast-configurations",namespace="network",uriTemplate="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="multicast-configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="protocol of multicast configuration")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="rp-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cvlan-tag-entry">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(dependentOn="port-group",indexedProps="cvlan-tag",container="cvlan-tags",uriTemplate="/cvlan-tags/cvlan-tag/{cvlan-tag}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cvlan-tag" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="port-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/port-groups/port-group/{interface-id}",requiredProps="interface-id,orchestration-status")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="license">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Metadata for license group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce",container="licenses",uriTemplate="/licenses/license/{group-uuid}/{resource-uuid}",requiredProps="group-uuid,resource-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID for the license group the resource belongs to, should be uuid.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of a license resource. ")</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.onap.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="licenses">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:license" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="entitlement">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Metadata for entitlement group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce",container="entitlements",uriTemplate="/entitlements/entitlement/{group-uuid}/{resource-uuid}",requiredProps="group-uuid,resource-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID for the entitlement group the resource comes from, should be uuid.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of an entitlement resource. ")</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.onap.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="entitlements">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Entitlements, keyed by group-uuid and resource-uuid, related to license management")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:entitlement" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vce">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/vces/vce/{vnf-id}",requiredProps="vnf-id,vnf-name,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED.")</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.onap.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.onap.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-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="OBSOLETE -  see child relationships")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:port-groups" minOccurs="0"/>
+        <xs:element ref="tns:licenses" minOccurs="0"/>
+        <xs:element ref="tns:entitlements" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnfc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id",searchable="vnfc-name",container="vnfcs",namespace="network",uriTemplate="/network/vnfcs/vnfc/{vnfc-name}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnfc-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of vnfc.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nfc-naming-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Short code that is used in naming instances of the item being modeled")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nfc-function" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service")</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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Group notation of VNFC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnfcs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="host-route">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="host-route-id",dependentOn="subnet",container="host-routes",uriTemplate="/host-routes/host-route/{host-route-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="host-route-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="host-route id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-prefix" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="subnet prefix")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="next-hop" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Could be ip-address, hostname, or service-instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="next-hop-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Should be ip-address, hostname, or service-instance to match next-hop")</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.onap.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="host-routes">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:host-route" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="subnet">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="subnet-id,subnet-name",nameProps="subnet-name",uniqueProps="subnet-id",dependentOn="l3-network",container="subnets",uriTemplate="/subnets/subnet/{subnet-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="subnet-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="the last address reserved for use by dhcp")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="subnet-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role of the subnet, referenced when assigning IPs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ip-assignment-direction" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ip address assignment direction of the subnet")</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.onap.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="subnet-sequence" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="sequence of the subnet")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:host-routes" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ctag-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="vlan-id-inner",dependentOn="l3-network",container="ctag-assignments",uriTemplate="/ctag-assignments/ctag-assignment/{vlan-id-inner}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="segmentation-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack segmentation assignment.",indexedProps="segmentation-id",dependentOn="l3-network",container="segmentation-assignments",uriTemplate="/segmentation-assignments/segmentation-assignment/{segmentation-id}",requiredProps="segmentation-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="segmentation-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Generic network definition",nameProps="network-name",indexedProps="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",searchable="network-id,network-name",uniqueProps="network-id",container="l3-networks",namespace="network",uriTemplate="/network/l3-networks/l3-network/{network-id}",requiredProps="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Unique identifier of service from ASDC.  Does not strictly map to ASDC services.  SOON TO BE DEPRECATED")</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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Contrail FQDN for the network")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-shared-network" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-external-network" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.")</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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-networks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:l3-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-policy">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(nameProps="network-policy-fqdn",indexedProps="network-policy-id,network-policy-fqdn",searchable="network-policy-id,network-policy-fqdn",uniqueProps="network-policy-id",container="network-policies",namespace="network",uriTemplate="/network/network-policies/network-policy/{network-policy-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-policy-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID representing unique key to this instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-policy-fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Contrail FQDN for the policy")</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.onap.aai.annotations.Metadata(description="ID for the openStack Heat 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.onap.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="network-policies">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:network-policy" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vf-module">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="a deployment unit of VNFCs",indexedProps="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",searchable="vf-module-id,vf-module-name",dependentOn="generic-vnf",container="vf-modules",uriTemplate="/vf-modules/vf-module/{vf-module-id}",requiredProps="vf-module-id,is-base-vf-module,automated-assignment")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vf-module-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of vf-module.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-module-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of vf-module")</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.onap.aai.annotations.Metadata(description="Heat stack id corresponding to this instance.")</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.onap.aai.annotations.Metadata(description="orchestration status of this vf-module, mastered by MSO")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-base-vf-module" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="automated-assignment" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="Indicates whether vf-module assignment was done via automation or manually")</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.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="the Contrail unique ID for a service-instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="module-index" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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")</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.onap.aai.annotations.Metadata(description="Path to the controller object.")</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="vf-modules">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:vf-module" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generic-vnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role",searchable="vnf-id,vnf-name,vnf-name2,operational-status",uniqueProps="vnf-id",container="generic-vnfs",namespace="network",extendsFrom="vnf",containsSuggestibleProps="true",suggestionAliases="VNFs",uriTemplate="/network/generic-vnfs/generic-vnf/{vnf-id}",requiredProps="vnf-id,vnf-type,in-maint,is-closed-loop-disabled")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vnf instance id.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Unique identifier of service, does not necessarily map to ASDC service models.  SOON TO BE DEPRECATED")</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.onap.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.onap.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.",suggestibleOnSearch="true")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.  Valid values are in-service-path and out-of-service-path.",suggestibleOnSearch="true")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.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.onap.aai.annotations.Metadata(description="Orchestration status of this VNF, used by MSO.",suggestibleOnSearch="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-package-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-discriptor-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vnf discriptor name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="job-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="job id corresponding to vnf")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="identifier of managed by ATT or 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.onap.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.onap.aai.annotations.Metadata(description="v4 Loopback0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nm-lan-v6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 Loopback address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="management-v6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 management address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcpu" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcpu-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vmemory" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vmemory-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdisk" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdisk-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nshd" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of associated SHD in vnf.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nvm" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vms in vnf.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nnet" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of network in vnf.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-closed-loop-disabled" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD.")</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.onap.aai.annotations.Metadata(description="indicates whether generic-vnf access uses SSH")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="entitlement-assignment-group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the Entitlement group used for licensing VNFs, OBSOLETE -  See child relationships.")</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.onap.aai.annotations.Metadata(description="UUID of the specific entitlement resource.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="license-assignment-group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the license assignment group.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="license-key-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the actual license resource.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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="as-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="as-number of the VNF")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="regional-resource-subzone" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="represents sub zone of the rr plane")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Generic description of the type of NF",suggestibleOnSearch="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-function" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English description of Network function that the specific VNF deployment is providing")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role in the network that this model will be providing",suggestibleOnSearch="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-naming-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="string assigned to this model used for naming purposes")</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.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Gateway 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.onap.aai.annotations.Metadata(description="Prefix length for oam-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.onap.aai.annotations.Metadata(description="Temporary location for S-TAG to get to VCE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nm-profile-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Network Management profile of this VNF")</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:element ref="tns:licenses" minOccurs="0"/>
+        <xs:element ref="tns:entitlements" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generic-vnfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of VNFs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:generic-vnf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-link">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="LAG links can connect lag-interfaces",indexedProps="link-name",container="lag-links",namespace="network",uriTemplate="/network/lag-links/lag-link/{link-name}",requiredProps="link-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Alphabetical concatenation of lag-interface names")</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.onap.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="lag-links">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of link aggregation connections")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:lag-link" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="newvce">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/newvces/newvce/{vnf-id2}",requiredProps="vnf-id2,vnf-name,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.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="operational-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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="newvces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:newvce" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE.",indexedProps="pnf-name,orchestration-status,inv-status,model-invariant-id,model-version-id",searchable="pnf-name",uniqueProps="pnf-name",container="pnfs",namespace="network",uriTemplate="/network/pnfs/pnf/{pnf-name}",requiredProps="pnf-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="unique name of Physical Network Function.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="name of Physical Network Function.")</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.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-name2-source" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="source of name2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="id of pnf")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-model" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</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.onap.aai.annotations.Metadata(description="identifier of managed by ATT or customer")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="sw-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="frame-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="serial-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Serial number of the device")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 OAM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI.")</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.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Nf Role is the role performed by this instance in the network.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The ASDC model id for this resource  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.onap.aai.annotations.Metadata(description="The ASDC model version for this resource  model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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="pnfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="physical-link">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",searchable="link-name,circuit-id",uriTemplate="/network/physical-links/physical-link/{link-name}",requiredProps="link-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-provider-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the service Provider on this link.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-up-value" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Upstream Bandwidth value agreed with the service provider")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-up-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Units for the upstream BW value")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-down-value" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Downstream Bandwidth value agreed with the service provider")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-down-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Units for downstream BW value")</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.onap.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="physical-links">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vig-server">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/vig-servers/vig-server/{vig-address-type}",requiredProps="vig-address-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vig-address-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ipaddress-v4-vig" type="xs:string" minOccurs="0" maxOccurs="5000">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v4 IP of the vig server")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-vig" type="xs:string" minOccurs="0" maxOccurs="5000">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 IP of the vig server")</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.onap.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="vig-servers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vig-server" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ipsec-configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}",requiredProps="ipsec-configuration-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="ipsec-configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID of this configuration")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="requested-vig-address-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="requested-encryption-strength" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="requested-dmz-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ATT can offer a shared DMZ or a DMZ specific to a customer")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="shared-dmz-network-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Network address of shared DMZ")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="requested-customer-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ike-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="can be 1 or 2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-authentication" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Contains values like md5, sha1, sha256, sha384")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-encryption" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-dh-group" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-am-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-am-password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="pre-shared key for the above group name ")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-sa-lifetime" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Lifetime for IKEv1 SA")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-authentication" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="md5, sha1, sha256, sha384")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-encryption" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ipsec-sa-lifetime" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Life time for IPSec SA")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-pfs" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="enable PFS or not")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="xauth-userid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="user ID for xAuth, sm-user,ucpeHostName,nmteHostName")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="xauth-user-password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Encrypted using the Juniper $9$ algorithm")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dpd-interval" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The time between DPD probe")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dpd-frequency" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Maximum number of DPD before claiming the tunnel is down")</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.onap.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:vig-servers" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ipsec-configurations">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ipsec-configuration" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="route-table-reference">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/route-table-references/route-table-reference/{route-table-reference-id}",requiredProps="route-table-reference-id,route-table-reference-fqdn")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="route-table-reference-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="route-table-reference-fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="route-table-references">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack route table references")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:route-table-reference" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="General mechanism for grouping instances",nameProps="description,instance-group-name",uniqueProps="id",searchable="id,description",indexedProps="id,description,type,sub-type,model-invariant-id,model-version-id",container="instance-groups",namespace="network",uriTemplate="/network/instance-groups/instance-group/{id}",requiredProps="id,description,instance-group-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Instance Group ID, UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="instance-group-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role of the instance group.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.onap.aai.annotations.Metadata(description="ASDC model version uid for this resource model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Descriptive text to help identify the usage of this instance-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="instance-group-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Only valid value today is lower case ha for high availability")</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.onap.aai.annotations.Metadata(description="Concurrency value")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="instance-group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Instance-Group Name.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="instance-group-function" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Instance-Group Function")</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="instance-groups">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack route table references")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:instance-group" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="zone">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="A zone is a grouping of assets in a location homing to the same connections into the CBB",nameProps="zone-name",indexedProps="zone-id,design-type,zone-context",uniqueProps="zone-id",container="zones",namespace="network",uriTemplate="/network/zones/zone/{zone-id}",requiredProps="zone-id,zone-name,design-type,zone-context")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="zone-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Code assigned by AIC to the zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English name associated with the zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="design-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Design of zone [Medium/Large…]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="zone-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Context of zone [production/test]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Status of a zone.")</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.onap.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="zones">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of zones")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:zone" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarder-evc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="forwarder object is an optional child object of the Configuration object.",dependentOn="configuration",uniqueProps="forwarder-evc-id",container="forwarder-evcs",uriTemplate="/forwarder-evcs/forwarder-evc/{forwarder-evc-id}",requiredProps="forwarder-evc-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="forwarder-evc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Key for forwarder-evc object")</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.onap.aai.annotations.Metadata(description="Circuit ID from customer/ESP/ingress end of EVC, or reference to beater circuit on gateway/network/egress end of EVC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ivlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Internal VLAN.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="svlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="SVLAN value for ingress of egress forwarder.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cvlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CVLAN value for ingress of egress forwarder.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <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.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarder-evcs">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:forwarder-evc" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="evc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="evc object is an optional child object of the Configuration object.",dependentOn="configuration",uniqueProps="evc-id",container="evcs",uriTemplate="/evcs/evc/{evc-id}",requiredProps="evc-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="evc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique/key field for the evc object")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="forwarding-path-topology" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Point-to-Point, Multi-Point")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cir-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Commited Information Rate")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cir-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CIR units")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="connection-diversity-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Diversity Group ID")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-hours" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="formerly Performance Group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esp-evc-circuit-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="EVC Circuit ID of ESP EVC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esp-evc-cir-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Committed Information Rate (For ESP)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esp-evc-cir-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CIR units (For ESP)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esp-itu-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Identifies ESP")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collector-pop-clli" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Collector POP CLLI (from the hostname of the access pnf)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inter-connect-type-ingress" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Interconnect type on ingress side of EVC.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tagmode-access-ingress" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="tagode for collector side of EVC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tagmode-access-egress" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="tagMode for network side of EVC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <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.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="evcs">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:evc" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Generic configuration object.",indexedProps="configuration-id,model-invariant-id,model-version-id",uniqueProps="configuration-id",container="configurations",namespace="network",uriTemplate="/network/configurations/configuration/{configuration-id}",requiredProps="configuration-id,configuration-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID assigned to configuration.")</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.onap.aai.annotations.Metadata(description="Indicates the entity that will manage this feature. Could be an organization or the name of the application as well.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="port-mirroring-configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-sub-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vprobe, pprobe.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="Orchestration status of the configuration.")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details from SDN-GC.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="id of  the configuration used to customize the resource")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tunnel-bandwidth" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="DHV Site Effective Bandwidth")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vendor-allowed-max-bandwidth" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Velocloud Nominal Throughput - VNT")</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.onap.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:metadata" minOccurs="0"/>
+        <xs:element ref="tns:forwarder-evcs" minOccurs="0"/>
+        <xs:element ref="tns:evcs" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="configurations">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of configurations")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:configuration" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarder">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="sequence",description="Entity describing a sequenced segment of forwarding path",container="forwarders",dependentOn="forwarding-path",uriTemplate="/forwarders/forwarder/{sequence}",requiredProps="sequence")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="sequence" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of this segmentation")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="forwarder-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ingress, intermediate, egress")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <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.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarders">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:forwarder" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarding-path">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(namespace="network",indexedProps="forwarding-path-id,forwarding-path-name",description="Entity that describes the sequenced forwarding path between interfaces of services or resources",container="forwarding-paths",nameProps="forwarding-path-name",uniqueProps="forwarding-path-id",uriTemplate="/network/forwarding-paths/forwarding-path/{forwarding-path-id}",requiredProps="forwarding-path-id,forwarding-path-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="forwarding-path-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of this FP")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="forwarding-path-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the FP")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <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.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="the self link for this FP")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:forwarders" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarding-paths">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:forwarding-path" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="collection">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(namespace="network",description="represents the collection resource in the TOSCA model",uniqueProps="collection-id",indexedProps="collection-id,model-invariant-id,model-version-id",container="collections",uriTemplate="/network/collections/collection/{collection-id}",requiredProps="collection-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="collection-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Collection Object UUID")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.onap.aai.annotations.Metadata(description="Model Version",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collection-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="collection name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collection-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Collection type")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collection-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Collection Role")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collection-function" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Collection function")</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.onap.aai.annotations.Metadata(description="orchestration status")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collection-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Captures the id of all the configuration used to customize the resource for the service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <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.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="collections">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:collection" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for network inventory resources.")</annox:annotate>
+        </xs:appinfo>
+      </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: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:element ref="tns:instance-groups" minOccurs="0"/>
+        <xs:element ref="tns:zones" minOccurs="0"/>
+        <xs:element ref="tns:configurations" minOccurs="0"/>
+        <xs:element ref="tns:forwarding-paths" minOccurs="0"/>
+        <xs:element ref="tns:collections" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="reserved-prop-names">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Internal map to define some reserved properties of a vertex",uniqueProps="aai-unique-key,aai-uri,aai-uuid",indexedProps="aai-unique-key,source-of-truth,aai-node-type,aai-uri,aai-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="last-mod-source-of-truth" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-created-ts" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="aai-unique-key" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-last-mod-ts" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="source-of-truth" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-uri" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-uuid" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="edge-prop-names">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Internal map to define the properties of an edge and interpret the map EdgeRules",edgeInfo="aaiUuid,edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV",uniqueProps="aai-uuid",indexedProps="aai-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="edgeLabel" type="xs:string" minOccurs="0"/>
+        <xs:element name="direction" type="xs:string" minOccurs="0"/>
+        <xs:element name="multiplicityRule" type="xs:string" minOccurs="0"/>
+        <xs:element name="contains-other-v" type="xs:string" minOccurs="0"/>
+        <xs:element name="delete-other-v" type="xs:string" minOccurs="0"/>
+        <xs:element name="SVC-INFRA" type="xs:string" minOccurs="0"/>
+        <xs:element name="prevent-delete" type="xs:string" minOccurs="0"/>
+        <xs:element name="private" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="aai-uuid" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="aai-internal">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:reserved-prop-names" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:edge-prop-names" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="notification-event-header">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0"/>
+        <xs:element name="timestamp" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="domain" type="xs:string" minOccurs="0"/>
+        <xs:element name="sequence-number" type="xs:string" minOccurs="0"/>
+        <xs:element name="severity" type="xs:string" minOccurs="0"/>
+        <xs:element name="event-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="version" type="xs:string" minOccurs="0"/>
+        <xs:element name="action" type="xs:string" minOccurs="0"/>
+        <xs:element name="entity-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="top-entity-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="entity-link" type="xs:string" minOccurs="0"/>
+        <xs:element name="status" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="notification-event">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="cambria.partition" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:notification-event-header" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="overloaded-model">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Allows for legacy POST of old-style and new-style models",requiredProps="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-name-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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-vers" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="query-parameters">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="QueryParameters for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:named-query" minOccurs="0"/>
+        <xs:element ref="tns:overloaded-model" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-filter">
+    <xs:complexType>
+      <xs:sequence/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-filters">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="InstanceFilters for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:instance-filter" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="secondary-filt">
+    <xs:complexType>
+      <xs:sequence/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="secondary-filts">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="SecondaryFilts for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:secondary-filt" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-and-named-query-search">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:query-parameters" minOccurs="0"/>
+        <xs:element ref="tns:instance-filters" minOccurs="0"/>
+        <xs:element ref="tns:secondary-filts" minOccurs="0"/>
+        <xs:element name="top-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="secondary-filter-cut-point" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="properties">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Property holder for query properties or instance properties")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <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-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:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inventory-response-item">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Inventory item for response list",container="inventory-response-items")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-name" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:extra-properties" minOccurs="0"/>
+        <xs:element ref="tns:inventory-response-items" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inventory-response-items">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Container for inventory items in response list",container="response-list")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:inventory-response-item" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="response-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Response container for the results of a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:inventory-response-items" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Abstract vnf class",indexedProps="vnf-id",uniqueProps="vnf-id",inheritors="vce,generic-vnf",isAbstract="true",requiredProps="vnf-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:element name="inventory">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:search" minOccurs="0"/>
+        <xs:element ref="tns:actions" minOccurs="0"/>
+        <xs:element ref="tns:cloud-infrastructure" minOccurs="0"/>
+        <xs:element ref="tns:external-system" minOccurs="0"/>
+        <xs:element ref="tns:business" minOccurs="0"/>
+        <xs:element ref="tns:service-design-and-creation" minOccurs="0"/>
+        <xs:element ref="tns:network" minOccurs="0"/>
+        <xs:element ref="tns:aai-internal" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
diff --git a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v14.xsd b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v14.xsd
new file mode 100644 (file)
index 0000000..4fb1ae1
--- /dev/null
@@ -0,0 +1,9917 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://org.onap.aai.inventory/v14" xmlns:tns="http://org.onap.aai.inventory/v14" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+    jaxb:version="2.1"
+    xmlns:annox="http://annox.dev.java.net"
+    jaxb:extensionBindingPrefixes="annox">
+
+  <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="5000"/>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="5000"/>
+      </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="edge-tag-query-result">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="5000"/>
+      </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="edge-tag-query-request">
+    <xs:complexType>
+      <xs:sequence>
+        <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="5000"/>
+        <xs:element ref="tns:include-node-filter" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:secondary-filter" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="result-data">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="The URL to the specific resource")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="resource-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="search-results">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:result-data" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship-data">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Value of the attribute.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="relationship-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="A keyword provided by A&amp;AI to indicate an attribute.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="relationship-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Value of the attribute.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-to-property">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Value part of a key/value pair")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="property-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Key part of a key/value pair")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="property-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Value part of a key/value pair")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="URL to the object in A&amp;AI.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="related-to" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="relationship-label" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The edge label for this relationship.")</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.onap.aai.annotations.Metadata(description="URL to the object in A&amp;AI.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-data" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:related-to-property" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship-list">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:relationship" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="oam-network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/oam-networks/oam-network/{network-uuid}",requiredProps="network-uuid,network-name,cvlan-tag")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="network-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the network.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cvlan-tag" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="cvlan-id")</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.onap.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="ipv4-oam-gateway-address-prefix-length" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="oam-networks">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:oam-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dvs-switch">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/dvs-switches/dvs-switch/{switch-name}",requiredProps="switch-name,vcenter-url")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="switch-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="DVS switch name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcenter-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL used to reach the vcenter")</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.onap.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="dvs-switches">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of digital virtual switch metadata used for vmWare VCEs and GenericVnfs.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:dvs-switch" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="availability-zone">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Availability zone, a collection of compute hosts/pservers",indexedProps="availability-zone-name",dependentOn="cloud-region",container="availability-zones",uriTemplate="/availability-zones/availability-zone/{availability-zone-name}",requiredProps="availability-zone-name,hypervisor-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="availability-zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="hypervisor-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="operational-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values.")</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.onap.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="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="5000"/>
+      </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="update">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team.",requiredProps="update-node-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="update-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:update-node-key" minOccurs="0" maxOccurs="5000"/>
+        <xs:element name="update-node-uri" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:action" minOccurs="0" maxOccurs="5000"/>
+      </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" minOccurs="0"/>
+        <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="5000"/>
+        <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.onap.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.onap.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",uriTemplate="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}",requiredProps="target-pe,availability-zone-name,ctag-pool-purpose")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="target-pe" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="The Target provider edge router")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="availability-zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the availability zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ctag-pool-purpose" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Describes what the intended purpose of this pool is.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ctag-values" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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-pools">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ctag-pool" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="complex">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/cloud-infrastructure/complexes/complex/{physical-location-id}",requiredProps="physical-location-id,physical-location-type,street1,city,postal-code,country,region")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="physical-location-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="data-center-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="complex-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Gamma complex name for LCP instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="identity-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL of the keystone identity service")</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.onap.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="physical-location-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <xs:element name="street2" type="xs:string" minOccurs="0"/>
+        <xs:element name="city" type="xs:string" minOccurs="0"/>
+        <xs:element name="state" type="xs:string" minOccurs="0"/>
+        <xs:element name="postal-code" type="xs:string" minOccurs="0"/>
+        <xs:element name="country" type="xs:string" minOccurs="0"/>
+        <xs:element name="region" type="xs:string" minOccurs="0"/>
+        <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="complexes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of physical locations that can house cloud-regions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:complex" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persistent block-level storage.",indexedProps="volume-group-name,vnf-type,heat-stack-id,volume-group-id",searchable="volume-group-id,volume-group-name",dependentOn="cloud-region",container="volume-groups",uriTemplate="/volume-groups/volume-group/{volume-group-id}",requiredProps="volume-group-id,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="volume-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of volume-group.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="volume-group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the volume group.")</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.onap.aai.annotations.Metadata(description="Heat stack id corresponding to this volume-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Orchestration status of this volume-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-module-model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="helps relate the volume group to the vf-module whose components will require the volume group")</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.onap.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="volume-groups">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Ephemeral Block storage volume.",indexedProps="volume-id",dependentOn="vserver",container="volumes",uriTemplate="/volumes/volume/{volume-id}",requiredProps="volume-id,volume-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="volume-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="volume-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="volumes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of ephemeral Block storage volumes.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:volume" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-interface-ipv4-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,vnfc,cp",uriTemplate="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}",requiredProps="l3-interface-ipv4-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="l3-interface-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="l3-interface-ipv4-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 32 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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-interface-ipv6-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,vnfc,cp",uriTemplate="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}",requiredProps="l3-interface-ipv6-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="l3-interface-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="l3-interface-ipv6-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 128 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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="vlan">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Definition of vlan",indexedProps="vlan-interface,vlan-id-inner,vpn-key",dependentOn="l-interface",container="vlans",uriTemplate="/vlans/vlan/{vlan-interface}",requiredProps="vlan-interface,in-maint,is-ip-unnumbered")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-interface" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="String that identifies the interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.aai.annotations.Metadata(description="Outer VLAN tag")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Used to describe (the service associated with) the vlan")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="backdoor-connection" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vpn-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This indicates the customers VPN ID associated with this vlan")</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.onap.aai.annotations.Metadata(description="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV].")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-ip-unnumbered" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="Flag indicating the interface uses the IP Unnumbered configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-private" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="Private VLAN indicator.")</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="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vlans">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vlan" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sriov-vf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/sriov-vfs/sriov-vf/{pci-id}",requiredProps="pci-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pci-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-vlan-filter" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-mac-filter" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-vlan-strip" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="sriov-vfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of SR-IOV Virtual Functions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:sriov-vf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Logical interfaces, e.g., a vnic.",indexedProps="macaddr,interface-id,interface-name,network-name",dependentOn="generic-vnf,newvce,p-interface,vserver,lag-interface,l-interface",container="l-interfaces",uriTemplate="/l-interfaces/l-interface/{interface-name}",requiredProps="interface-name,is-port-mirrored,in-maint,is-ip-unnumbered")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="E.g., CUSTOMER, UPLINK, etc.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="v6-wan-link-ip" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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>
+        <xs:element name="interface-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Human friendly text regarding this interface.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-port-mirrored" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not port is a mirrored.")</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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV].")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-ip-unnumbered" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="Flag indicating the interface uses the IP Unnumbered configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="allowed-address-pairs" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Freeform field for storing an ip address, list of ip addresses or a subnet block.")</annox:annotate>
+            </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:l-interfaces" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l3-interface-ipv4-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element name="admin-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Administrative status of the interface. Valid values are 'up', 'down', or 'testing'.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l-interfaces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vserver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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-id,vserver-name,vserver-name2",dependentOn="tenant",container="vservers",uriTemplate="/vservers/vserver/{vserver-id}",requiredProps="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vserver-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vserver-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of vserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vserver-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Alternative name of vserver")</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.onap.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="vserver-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-closed-loop-disabled" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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: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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="nos-server">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="nos-server is the execution environment that will have images, certain versions of VNOS, running on it.",indexedProps="nos-server-id",dependentOn="tenant",nameProps="nos-server-name",container="nos-servers",uriTemplate="/nos-servers/nos-server/{nos-server-id}",requiredProps="nos-server-id,nos-server-name,vendor,nos-server-selflink,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="nos-server-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier for this nos relative to its tenant")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nos-server-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of nos")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="uCPE vendor")</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.onap.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="nos-server-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="nos-servers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="nos-server is the execution environment that will have images, certain versions of VNOS, running on it.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:nos-server" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tenant">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack tenant",nameProps="tenant-name",indexedProps="tenant-name,tenant-id,tenant-context",searchable="tenant-id,tenant-name",dependentOn="cloud-region",container="tenants",uriTemplate="/tenants/tenant/{tenant-id}",requiredProps="tenant-id,tenant-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="tenant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Readable name of tenant")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tenant-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This field will store the tenant context.")</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.onap.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:vservers" minOccurs="0"/>
+        <xs:element ref="tns:nos-servers" 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.onap.aai.annotations.Metadata(description="Collection of openstack tenants.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:tenant" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="hpa-feature-attributes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="HPA Capability Feature attributes",indexedProps="hpa-attribute-key",dependentOn="hpa-capability",requiredProps="hpa-attribute-key")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hpa-attribute-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="name of the specific HPA attribute")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="hpa-attribute-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="JSON string specifying the value, unit and type of the specific HPA attribute")</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.onap.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="hpa-capability">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents a HPA capability",indexedProps="hpa-feature,architecture,hpa-capability-id",dependentOn="flavor,cloud-region",container="hpa-capabilities",requiredProps="hpa-capability-id,hpa-feature")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hpa-capability-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID to uniquely identify a HPA capability")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="hpa-feature" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the HPACapability")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="hpa-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="HPA schema version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="architecture" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Hardware architecture")</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.onap.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:hpa-feature-attributes" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="hpa-capabilities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of HPA Capabilities")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:hpa-capability" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="flavor">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack flavor.",nameProps="flavor-name",indexedProps="flavor-name,flavor-id",dependentOn="cloud-region",container="flavors",uriTemplate="/flavors/flavor/{flavor-id}",requiredProps="flavor-id,flavor-name,flavor-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="flavor-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="flavor-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Cloud Region Flavor name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-vcpus" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Number of CPUs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-ram" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Amount of memory")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-disk" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Disk space")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-ephemeral" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Amount of ephemeral disk space")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-swap" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="amount of swap space allocation")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-is-public" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="flavor-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Boolean as to whether this flavor is no longer enabled")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:hpa-capabilities" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="List of flavor specific HPA Capabilities")</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.onap.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="flavors">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack flavors.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:flavor" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="group-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack group-assignment used to store exclusivity groups (EG).",nameProps="group-name",indexedProps="group-id,group-type,group-name",searchable="group-id,group-name",dependentOn="cloud-region",container="group-assignments",uriTemplate="/group-assignments/group-assignment/{group-id}",requiredProps="group-id,group-type,group-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="group-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Group description - description of the group")</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.onap.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="group-assignments">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack group assignments")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:group-assignment" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="snapshot">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/snapshots/snapshot/{snapshot-id}",requiredProps="snapshot-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="snapshot-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="snapshot-os-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="This field contains the UUID of the previous snapshot (if any).")</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.onap.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="snapshots">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack snapshots")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:snapshot" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="metadatum">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Key/value pairs",indexedProps="metaname",dependentOn="tenant,image,service-instance,connector,model",container="metadata",uriTemplate="/metadata/metadatum/{metaname}",requiredProps="metaname,metaval")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="metaname" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true)</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="metaval" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="metadata">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="image">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack image.",nameProps="image-name",indexedProps="application,image-name,application-vendor,image-id,application-version",dependentOn="cloud-region",container="images",uriTemplate="/images/image/{image-id}",requiredProps="image-id,image-name,image-os-distro,image-os-version,image-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="image-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="image-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Image name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-architecture" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Operating system architecture.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-os-distro" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="image-os-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="The version of the application.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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:metadata" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="images">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collectio of Openstack images.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:image" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="availability-zones">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of availability zones")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:availability-zone" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vip-ipv4-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="IPv4 Address Range",indexedProps="vip-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="cloud-region",uriTemplate="/vip-ipv4-address-list/{vip-ipv4-address}",requiredProps="vip-ipv4-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vip-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vip-ipv4-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 32 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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="vip-ipv6-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="IPv6 Address Range",indexedProps="vip-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="cloud-region",uriTemplate="/vip-ipv6-address-list/{vip-ipv6-address}",requiredProps="vip-ipv6-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vip-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vip-ipv6-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 128 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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="esr-system-info">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist common address information of external systems.",indexedProps="esr-system-info-id,system-name,system-type",searchable="esr-system-info-id,system-name,system-type",container="esr-system-info-list",dependentOn="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc,ext-aai-network",requiredProps="esr-system-info-id,user-name,password,system-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="esr-system-info-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of esr system info.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="name of external system.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="type of external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vendor of external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="version of external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="url used to access external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="user-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="username used to access external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="password used to access external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="it could be vim/vnfm/thirdparty-sdnc/ems-resource/ems-performance/ems-alarm.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="protocol" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="protocol of third party SDNC, for example netconf/snmp.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ssl-cacert" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ca file content if enabled ssl on auth-url.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ssl-insecure" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Whether to verify VIM's certificate.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ip-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="service IP of ftp server.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="service port of ftp server.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-domain" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="domain info for authentication.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="default-tenant" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="default tenant of VIM.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="passive" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ftp passive mode or not.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="remote-path" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="resource or performance data file path.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="the status of external system.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="openstack-region-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="OpenStack region ID used by MultiCloud plugin to interact with an OpenStack 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.onap.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="esr-system-info-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of persistent block-level external system auth info.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-system-info" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-region">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}",requiredProps="cloud-owner,cloud-region-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cloud-owner" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="cloud-region-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="cloud-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Type of the cloud (e.g., openstack)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="owner-defined-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Cloud-owner defined type indicator (e.g., dcp, lcp)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-region-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Software version employed at the site.  NOTE - THIS FIELD IS NOT KEPT UP TO DATE.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="identity-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL of the keystone identity service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-zone" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Zone where the cloud is homed.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="complex-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="complex name for cloud-region instance.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="sriov-automation" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Whether the cloud region supports (true) or does not support (false) SR-IOV automation.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-extra-info" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ESR inputs extra information about the VIM or Cloud which will be decoded by MultiVIM.")</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.onap.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: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:element ref="tns:vip-ipv4-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:vip-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:hpa-capabilities" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="List of cloud-region specific HPA Capabilities")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:esr-system-info-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-regions">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:cloud-region" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-profile">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Network profile populated by SDN-GP for SNMP",indexedProps="nm-profile-name",container="network-profiles",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}",requiredProps="nm-profile-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="nm-profile-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique name of network profile.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="community-string" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Encrypted SNMP community string")</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.onap.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="network-profiles">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sriov-pf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="SR-IOV Physical Function",indexedProps="pf-pci-id",dependentOn="p-interface",container="sriov-pfs",uriTemplate="/sriov-pfs/sriov-pf/{pf-pci-id}",requiredProps="pf-pci-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pf-pci-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Identifier for the sriov-pf")</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.onap.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="sriov-pfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of SR-IOV Physical Functions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:sriov-pf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="p-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Physical interface (e.g., nic)",indexedProps="interface-name,prov-status,networkRef,operational-status",nameProps="prov-status",dependentOn="vpls-pe,pserver,pnf",container="p-interfaces",uriTemplate="/p-interfaces/p-interface/{interface-name}",requiredProps="interface-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name that identifies the physical interface")</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.onap.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-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Nature of the services and connectivity on this port.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equipment-identifier" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CLEI or other specification for p-interface hardware.")</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.onap.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.onap.aai.annotations.Metadata(description="Indicates the physical properties of the interface.")</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.onap.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="mac-addresss" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="MAC Address of the p-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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="inventory status")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-ref" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the network-ref of this p-interface. Derived from ietf-restconf-notification that identifies a termination-point.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="transparent" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the transparent value of this p-interface.")</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.onap.aai.annotations.Metadata(description="oper Status of this p-interface.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:sriov-pfs" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Link aggregate interface",indexedProps="interface-name,interface-id,interface-role",dependentOn="generic-vnf,pserver,vpls-pe,pnf",container="lag-interfaces",uriTemplate="/lag-interfaces/lag-interface/{interface-name}",requiredProps="interface-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name that identifies the link aggregate interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="interface-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Human friendly text regarding this 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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</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.onap.aai.annotations.Metadata(description="ID of 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.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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 ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-interfaces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of link aggregate interfaces.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:lag-interface" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="hpa-capacity">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="HPA Capacity information for compute node",indexedProps="hpa-capacity-key",dependentOn="hpa-capacity",requiredProps="hpa-capacity-key")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hpa-capacity-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Composite key formed with hpaFeature and append list of hpaFeatureAttributes needed for capacity check")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="hpa-capacity-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="JSON string specifying the capacity (total,free), unit and metadata of the specific HPA attribute")</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.onap.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="pserver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,inv-status",searchable="hostname,pserver-name2,pserver-id,ipv4-oam-address",uniqueProps="hostname",container="pservers",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/pservers/pserver/{hostname}",requiredProps="hostname,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hostname" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ptnii-equip-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="PTNII name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="number-of-cpus" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Number of cpus")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="disk-in-gigabytes" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Disk size, in GBs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ram-in-megabytes" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="RAM size, in MBs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-model" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Fully-qualified domain name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pserver-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</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.onap.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="serial-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Serial number, may be queried")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 OAM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pserver-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ID of Pserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="internet-topology" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="internet topology of Pserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="purpose of pserver")</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.onap.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]")</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.onap.aai.annotations.Metadata(description="Indicates who owns and or manages the device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="host-profile" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The host profile that defines the configuration of the pserver.")</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:hpa-capacity" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pservers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of compute hosts.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:pserver" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="virtual-data-center">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}",requiredProps="vdc-id,vdc-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vdc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of the vdc")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdc-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the virtual data center")</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.onap.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="virtual-data-centers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:virtual-data-center" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="operational-environment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="It is a logical partition of the cloud which allows to have multiple environments in the production AIC.",indexedProps="operational-environment-id",nameProps="operational-environment-name",uniqueProps="operational-environment-id",container="operational-environments",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/operational-environments/operational-environment/{operational-environment-id}",requiredProps="operational-environment-id,operational-environment-name,operational-environment-type,operational-environment-status,tenant-context,workload-context")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="operational-environment-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID of an operational environment")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="operational-environment-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Operational Environment name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="operational-environment-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Operational Environment Type.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="operational-environment-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Status")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tenant-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Tenant Context.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="workload-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Workload Context.")</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.onap.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="operational-environments">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="a logical partition of the cloud which allows to have multiple environments in the production AIC.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:operational-environment" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-technology">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="The network-technology object is used to capture the supported network technologies of a cloud-region.",nameProps="network-technology-id,network-technology-name",uniqueProps="network-technology-id",container="network-technologies",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/network-technologies/network-technology/{network-technology-id}",requiredProps="network-technology-id,network-technology-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-technology-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier of the network-technology object (UUID)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-technology-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The network-technology  that a cloud-region can support. Current valid values- CONTRAIL AIC_SR_IOV OVS STANDARD-SR-IOV")</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.onap.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="network-technologies">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description=" The network-technology object is used to capture the supported network technologies of a cloud-region.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:network-technology" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-infrastructure">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for cloud infrastructure.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <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:element ref="tns:operational-environments" minOccurs="0"/>
+        <xs:element ref="tns:network-technologies" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-ems">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist EMS address information used by EMS driver.",indexedProps="ems-id",searchable="ems-id",container="esr-ems-list",namespace="external-system",requiredProps="ems-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="ems-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of EMS.")</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.onap.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:esr-system-info-list" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-ems-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-ems" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-vnfm">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist VNFM address information used by VF-C.",indexedProps="vnfm-id",searchable="vnfm-id",container="esr-vnfm-list",namespace="external-system",requiredProps="vnfm-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnfm-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of VNFM.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vim-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="indecate the VIM to deploy VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="certificate-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="certificate url of VNFM.")</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.onap.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:esr-system-info-list" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-vnfm-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-vnfm" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-thirdparty-sdnc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist SDNC address information used by ONAP SDNC.",indexedProps="sdnc-id",searchable="sdnc-id",container="esr-thirdparty-sdnc-list",namespace="external-system",requiredProps="thirdparty-sdnc-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="thirdparty-sdnc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of SDNC.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="location" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="used for DC type to indicate the location of SDNC, such as Core or Edge.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="product-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="password used to access SDNC server.")</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.onap.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:esr-system-info-list" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-thirdparty-sdnc-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-thirdparty-sdnc" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="external-system">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for external system.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-ems-list" minOccurs="0"/>
+        <xs:element ref="tns:esr-vnfm-list" minOccurs="0"/>
+        <xs:element ref="tns:esr-thirdparty-sdnc-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="connector">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of resource instances used to connect a variety of disparate inventory widgets",indexedProps="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version",container="connectors",namespace="business",uriTemplate="/business/connectors/connector/{resource-instance-id}",requiredProps="resource-instance-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="resource-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique id of resource 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.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{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.onap.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.onap.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="connectors">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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 ref="tns:connector" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tunnel-xconnect">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted",uniqueProps="id",indexedProps="id",dependentOn="allotted-resource",container="tunnel-xconnects",uriTemplate="/tunnel-xconnects/tunnel-xconnect/{id}",requiredProps="id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Allotted Resource 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.onap.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="tunnel-xconnects">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="This object is used to store the specific tunnel cross connect aspects of an allotted resource")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:tunnel-xconnect" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="allotted-resource">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents a slice or partial piece of a resource that gets separately allotted",nameProps="description,allotted-resource-name",uniqueProps="id",indexedProps="id,model-invariant-id,model-version-id,type,role,allotted-resource-name,access-provider-id,access-client-id,access-topology-id,access-node-id,access-ltp-id,vpn-name",dependentOn="service-instance",container="allotted-resources",uriTemplate="/allotted-resources/allotted-resource/{id}",requiredProps="id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Allotted Resource id UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The descriptive information assigned to this allotted resource instance")</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.onap.aai.annotations.Metadata(description="Link back to more information in the controller")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.aai.annotations.Metadata(description="Concurrency 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.onap.aai.annotations.Metadata(description="Orchestration status")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Generic description of the type of allotted resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role in the network that this resource will be providing.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="allotted-resource-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the name of this allotted-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-provider-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access provider of this allotted-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-client-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access client of this allotted-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-topology-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access topology of this allotted-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-node-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access node of this allotted-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-ltp-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access ltp of this allotted-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cvlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the cvlan of this allotted-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the vpn-name of this allotted-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:tunnel-xconnects" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="allotted-resources">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="This object is used to store slices of services being offered")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:allotted-resource" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-instance">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a service",indexedProps="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status,environment-context,workload-context",nameProps="service-instance-name",searchable="service-instance-id,service-instance-name",uniqueProps="service-instance-id",dependentOn="service-subscription",container="service-instances",uriTemplate="/service-instances/service-instance/{service-instance-id}",requiredProps="service-instance-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this instance of a service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-instance-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="String capturing type of service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="String capturing the service role.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="environment-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This field will store the environment context assigned to the service-instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="workload-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This field will store the workload context assigned to the service-instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="created-at" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="create time of Network Service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="updated-at" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="last update of Network Service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="short description for service-instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</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.onap.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.onap.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="bandwidth-total" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicates the total bandwidth to be used for this service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vhn-portal-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL customers will use to access the vHN Portal.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-instance-location-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Orchestration status of this service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="input-parameters" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="String capturing request parameters from SO to pass to Closed Loop.")</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:allotted-resources" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-instances">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of service instances")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:service-instance" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-subscription">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Object that group service instances.",indexedProps="service-type",dependentOn="customer",container="service-subscriptions",crossEntityReference="service-instance,service-type",uriTemplate="/service-subscriptions/service-subscription/{service-type}",requiredProps="service-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="temp-ub-sub-account-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-subscriptions">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of objects that group service instances.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:service-subscription" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="customer">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="global-customer-id,subscriber-name",uniqueProps="global-customer-id",container="customers",namespace="business",uriTemplate="/business/customers/customer/{global-customer-id}",requiredProps="global-customer-id,subscriber-name,subscriber-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="global-customer-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="subscriber-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="customers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="line-of-business">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes a line-of-business",indexedProps="line-of-business-name",uniqueProps="line-of-business-name",container="lines-of-business",namespace="business",uriTemplate="/business/lines-of-business/line-of-business/{line-of-business-name}",requiredProps="line-of-business-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="line-of-business-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the line-of-business (product)")</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.onap.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="lines-of-business">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of lines-of-business")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:line-of-business" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="owning-entity">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes an owning-entity",indexedProps="owning-entity-id,owning-entity-name",searchable="owning-entity-id",uniqueProps="owning-entity-id,owning-entity-name",container="owning-entities",namespace="business",uriTemplate="/business/owning-entities/owning-entity/{owning-entity-id}",requiredProps="owning-entity-id,owning-entity-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="owning-entity-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID of an owning entity")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="owning-entity-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Owning entity name")</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.onap.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="owning-entities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of owning-entities")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:owning-entity" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="platform">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes a platform",indexedProps="platform-name",uniqueProps="platform-name",container="platforms",namespace="business",uriTemplate="/business/platforms/platform/{platform-name}",requiredProps="platform-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="platform-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the platform")</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.onap.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="platforms">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of platforms")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:platform" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="project">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes the project",indexedProps="project-name",uniqueProps="project-name",container="projects",namespace="business",uriTemplate="/business/projects/project/{project-name}",requiredProps="project-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="project-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the project deploying a service")</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.onap.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="projects">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of projects")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:project" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sp-partner">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of an sp-partner",indexedProps="sp-partner-id,url,callsource",nameProps="sp-partner-id",searchable="sp-partner-id",uniqueProps="sp-partner-id",container="sp-partners",namespace="business",uriTemplate="/business/sp-partners/sp-partner/{sp-partner-id}",requiredProps="sp-partner-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="sp-partner-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this sp-partner by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the URL of this sp-partner.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="callsource" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the callsource of this sp-partner.")</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.onap.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="operational-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the operational-status for this sp-partner.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the model-customization-id for this sp-partner.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="the ASDC model id for this sp-partner 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.onap.aai.annotations.Metadata(description="the ASDC model version for this sp-partner model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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="sp-partners">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of sp-partners")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:sp-partner" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="business">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for business related constructs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:connectors" minOccurs="0"/>
+        <xs:element ref="tns:customers" minOccurs="0"/>
+        <xs:element ref="tns:lines-of-business" minOccurs="0"/>
+        <xs:element ref="tns:owning-entities" minOccurs="0"/>
+        <xs:element ref="tns:platforms" minOccurs="0"/>
+        <xs:element ref="tns:projects" minOccurs="0"/>
+        <xs:element ref="tns:sp-partners" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnf-image">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/service-design-and-creation/vnf-images/vnf-image/{vnf-image-uuid}",requiredProps="vnf-image-uuid,application,application-vendor")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-image-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of this asset")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="vnf-images">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:vnf-image" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Stand-in for service model definitions.  Likely to be deprecated in favor of models from ASDC.  Does not strictly map to ASDC services.",indexedProps="service-description,service-id",container="services",namespace="service-design-and-creation",uriTemplate="/service-design-and-creation/services/service/{service-id}",requiredProps="service-id,service-description")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="service-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Description of the service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="service version")</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="services">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-capability">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}",requiredProps="service-type,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="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.")</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.onap.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="service-capabilities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="element-choice-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/element-choice-sets/element-choice-set/{element-choice-set-uuid}",requiredProps="element-choice-set-uuid,element-choice-set-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="element-choice-set-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="constrained-element-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}",requiredProps="constrained-element-set-uuid,constraint-type,check-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="constrained-element-set-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="constraint-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="check-type" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-constraint">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/model-constraints/model-constraint/{model-constraint-uuid}",requiredProps="model-constraint-uuid,constrained-element-set-uuid-to-replace")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-constraint-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <xs:element ref="tns:constrained-element-sets" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-constraints">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:model-constraint" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-element">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/model-elements/model-element/{model-element-uuid}",requiredProps="model-element-uuid,new-data-del-flag,cardinality")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-element-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-ver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models",nameProps="model-name",indexedProps="model-version-id,model-name,model-version,distribution-status",uniqueProps="model-version-id",container="model-vers",uriTemplate="/model-vers/model-ver/{model-version-id}",requiredProps="model-version-id,model-name,model-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="distribution-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Distribution Status")</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.onap.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.onap.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="model-vers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:model-ver" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version",nameProps="model-type",indexedProps="model-invariant-id,model-type",uniqueProps="model-invariant-id",container="models",namespace="service-design-and-creation",uriTemplate="/service-design-and-creation/models/model/{model-invariant-id}",requiredProps="model-invariant-id,model-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-vers" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-lookup">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="related-lookup-uuid",indexedProps="related-lookup-uuid",allowDirectRead="true",allowDirectWrite="false",container="related-lookups",requiredProps="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="related-lookup-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="source-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-node-property" type="xs:string" minOccurs="0"/>
+        <xs:element name="target-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="target-node-property" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-collect-list" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="property-constraint">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="property-constraint-uuid",indexedProps="property-constraint-uuid",allowDirectRead="true",allowDirectWrite="false",container="property-constraints",requiredProps="property-constraint-uuid,constraint-type,property-name,property-value")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="property-constraint-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="constraint-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-value" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query-element">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="named-query-element-uuid",indexedProps="named-query-element-uuid",allowDirectRead="true",allowDirectWrite="false",container="named-query-elements",requiredProps="named-query-element-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="named-query-element-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="named-query-uuid,named-query-name,named-query-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="named-query-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true)</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="named-query-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="named-query-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="required-input-params" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="required-input-param" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+            </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-design-and-creation">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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.onap.aai.annotations.Metadata(description="Logical links generally connect l-interfaces but are used to express logical connectivity between two points",indexedProps="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose,operational-status",uniqueProps="link-id",container="logical-links",namespace="network",searchable="link-name",uriTemplate="/network/logical-links/logical-link/{link-name}",requiredProps="link-name,in-maint,link-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="link-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Indication of operational status of the logical link.")</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.onap.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="link-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="UUID of the logical-link, SDNC generates this.")</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.onap.aai.annotations.Metadata(description="Circuit id")</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.onap.aai.annotations.Metadata(description="Reason for this entity, role it is playing")</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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="class-of-service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="cos",dependentOn="site-pair",container="classes-of-service",uriTemplate="/classes-of-service/class-of-service/{cos}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cos" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="site-pair-id",uniqueProps="site-pair-id",dependentOn="routing-instance",container="site-pairs",uriTemplate="/site-pairs/site-pair/{site-pair-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="site-pair-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="The type of destinatination equipment. Could be Router, UCPE, 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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="routing-instance">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="routing-instance-id",dependentOn="site-pair-set",container="routing-instances",uriTemplate="/routing-instances/routing-instance/{routing-instance-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="routing-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/site-pair-sets/site-pair-set/{site-pair-set-id}",requiredProps="site-pair-set-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="site-pair-set-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="route-target">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Route target information",container="route-targets",dependentOn="vpn-binding",canBeLinked="true",uriTemplate="/route-targets/route-target/{global-route-target}/{route-target-role}",requiredProps="global-route-target,route-target-role")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="global-route-target" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Number used to identify an RT, globally unique in the network")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-target-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Role assigned to this route target")</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.onap.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="route-targets">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of route target information")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:route-target" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpn-binding">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="VPN binding",nameProps="vpn-name,vpn-type",indexedProps="vpn-name,vpn-id,vpn-type,access-provider-id,access-client-id,access-topology-id,src-access-node-id,src-access-ltp-id,dst-access-node-id,dst-access-ltp-id,operational-status",searchable="vpn-id,vpn-name",uniqueProps="vpn-id",container="vpn-bindings",namespace="network",uriTemplate="/network/vpn-bindings/vpn-binding/{vpn-id}",requiredProps="vpn-id,vpn-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vpn-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="VPN Name")</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.onap.aai.annotations.Metadata(description="the platform associated with the VPN example AVPN, Mobility")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Type of the vpn, should be taken from enumerated/valid values")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-region" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="region of customer vpn")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="customer-vpn-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="id for this customer vpn")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-distinguisher" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-provider-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access provider of this vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-client-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access client of this vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-topology-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access topology of this vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="src-access-node-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the src-access-node of this vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="src-access-ltp-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the src-access-ltp of this vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dst-access-node-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the dst-access-node of this vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dst-access-ltp-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the dst-access-ltp of this vpn.")</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.onap.aai.annotations.Metadata(description="Store the operational-status for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the model-customization-id for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.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:route-targets" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpls-pe">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="VPLS Provider Edge routers.",indexedProps="prov-status,equipment-name",container="vpls-pes",namespace="network",uriTemplate="/network/vpls-pes/vpls-pe/{equipment-name}",requiredProps="equipment-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="equipment-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="multicast-configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="multicast-configuration-id",uniqueProps="multicast-configuration-id",container="multicast-configurations",namespace="network",uriTemplate="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="multicast-configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="protocol of multicast configuration")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="rp-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cvlan-tag-entry">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(dependentOn="port-group",indexedProps="cvlan-tag",container="cvlan-tags",uriTemplate="/cvlan-tags/cvlan-tag/{cvlan-tag}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cvlan-tag" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="port-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/port-groups/port-group/{interface-id}",requiredProps="interface-id,orchestration-status")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="license">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Metadata for license group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce",container="licenses",uriTemplate="/licenses/license/{group-uuid}/{resource-uuid}",requiredProps="group-uuid,resource-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID for the license group the resource belongs to, should be uuid.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of a license resource. ")</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.onap.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="licenses">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:license" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="entitlement">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Metadata for entitlement group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce",container="entitlements",uriTemplate="/entitlements/entitlement/{group-uuid}/{resource-uuid}",requiredProps="group-uuid,resource-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID for the entitlement group the resource comes from, should be uuid.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of an entitlement resource. ")</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.onap.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="entitlements">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Entitlements, keyed by group-uuid and resource-uuid, related to license management")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:entitlement" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vce">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/vces/vce/{vnf-id}",requiredProps="vnf-id,vnf-name,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED.")</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.onap.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.onap.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-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="OBSOLETE -  see child relationships")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:port-groups" minOccurs="0"/>
+        <xs:element ref="tns:licenses" minOccurs="0"/>
+        <xs:element ref="tns:entitlements" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cp">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="point of attachment from services or resources to a virtual link or network.",uniqueProps="cp-instance-id",dependentOn="vnfc",container="cps",uriTemplate="/cps/cp/{cp-instance-id}",requiredProps="cp-instance-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cp-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of the connection point.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port-id" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="port index to represent multiple CPs on VNFC connected to same network.")</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.onap.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="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cps">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of connection points.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:cp" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnfc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id",searchable="vnfc-name",container="vnfcs",namespace="network",uriTemplate="/network/vnfcs/vnfc/{vnfc-name}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnfc-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of vnfc.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nfc-naming-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Short code that is used in naming instances of the item being modeled")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nfc-function" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service")</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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Group notation of VNFC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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:cps" minOccurs="0"/>
+        <xs:element ref="tns:l3-interface-ipv4-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnfcs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="host-route">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="host-route-id",dependentOn="subnet",container="host-routes",uriTemplate="/host-routes/host-route/{host-route-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="host-route-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="host-route id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-prefix" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="subnet prefix")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="next-hop" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Could be ip-address, hostname, or service-instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="next-hop-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Should be ip-address, hostname, or service-instance to match next-hop")</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.onap.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="host-routes">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:host-route" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="subnet">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="subnet-id,subnet-name",nameProps="subnet-name",uniqueProps="subnet-id",dependentOn="l3-network",container="subnets",uriTemplate="/subnets/subnet/{subnet-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="subnet-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="the last address reserved for use by dhcp")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="subnet-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role of the subnet, referenced when assigning IPs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ip-assignment-direction" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ip address assignment direction of the subnet")</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.onap.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="subnet-sequence" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="sequence of the subnet")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:host-routes" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ctag-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="vlan-id-inner",dependentOn="l3-network",container="ctag-assignments",uriTemplate="/ctag-assignments/ctag-assignment/{vlan-id-inner}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="segmentation-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack segmentation assignment.",indexedProps="segmentation-id",dependentOn="l3-network",container="segmentation-assignments",uriTemplate="/segmentation-assignments/segmentation-assignment/{segmentation-id}",requiredProps="segmentation-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="segmentation-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Generic network definition",nameProps="network-name",indexedProps="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",searchable="network-id,network-name",uniqueProps="network-id",container="l3-networks",namespace="network",uriTemplate="/network/l3-networks/l3-network/{network-id}",requiredProps="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Unique identifier of service from ASDC.  Does not strictly map to ASDC services.  SOON TO BE DEPRECATED")</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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Contrail FQDN for the network")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-shared-network" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-external-network" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-trunked" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="Trunked network indication.")</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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-networks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:l3-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-policy">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(nameProps="network-policy-fqdn",indexedProps="network-policy-id,network-policy-fqdn",searchable="network-policy-id,network-policy-fqdn",uniqueProps="network-policy-id",container="network-policies",namespace="network",uriTemplate="/network/network-policies/network-policy/{network-policy-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-policy-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID representing unique key to this instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-policy-fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Contrail FQDN for the policy")</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.onap.aai.annotations.Metadata(description="ID for the openStack Heat 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.onap.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="network-policies">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:network-policy" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vf-module">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="a deployment unit of VNFCs",indexedProps="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",searchable="vf-module-id,vf-module-name",dependentOn="generic-vnf",container="vf-modules",uriTemplate="/vf-modules/vf-module/{vf-module-id}",requiredProps="vf-module-id,is-base-vf-module,automated-assignment")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vf-module-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of vf-module.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-module-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of vf-module")</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.onap.aai.annotations.Metadata(description="Heat stack id corresponding to this instance.")</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.onap.aai.annotations.Metadata(description="orchestration status of this vf-module, mastered by MSO")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-base-vf-module" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="automated-assignment" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="Indicates whether vf-module assignment was done via automation or manually")</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.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="the Contrail unique ID for a service-instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="module-index" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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")</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.onap.aai.annotations.Metadata(description="Path to the controller object.")</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="vf-modules">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:vf-module" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generic-vnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role",searchable="vnf-id,vnf-name,vnf-name2,operational-status",uniqueProps="vnf-id",container="generic-vnfs",namespace="network",extendsFrom="vnf",containsSuggestibleProps="true",suggestionAliases="VNFs",uriTemplate="/network/generic-vnfs/generic-vnf/{vnf-id}",requiredProps="vnf-id,vnf-type,in-maint,is-closed-loop-disabled")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vnf instance id.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Unique identifier of service, does not necessarily map to ASDC service models.  SOON TO BE DEPRECATED")</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.onap.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.onap.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.",suggestibleOnSearch="true")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.  Valid values are in-service-path and out-of-service-path.",suggestibleOnSearch="true")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.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.onap.aai.annotations.Metadata(description="Orchestration status of this VNF, used by MSO.",suggestibleOnSearch="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-package-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-discriptor-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vnf discriptor name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="job-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="job id corresponding to vnf")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="identifier of managed by ATT or 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.onap.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.onap.aai.annotations.Metadata(description="v4 Loopback0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nm-lan-v6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 Loopback address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="management-v6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 management address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcpu" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcpu-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vmemory" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vmemory-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdisk" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdisk-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nshd" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of associated SHD in vnf.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nvm" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vms in vnf.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nnet" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of network in vnf.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-closed-loop-disabled" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD.")</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.onap.aai.annotations.Metadata(description="indicates whether generic-vnf access uses SSH")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="entitlement-assignment-group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the Entitlement group used for licensing VNFs, OBSOLETE -  See child relationships.")</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.onap.aai.annotations.Metadata(description="UUID of the specific entitlement resource.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="license-assignment-group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the license assignment group.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="license-key-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the actual license resource.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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="as-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="as-number of the VNF")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="regional-resource-subzone" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="represents sub zone of the rr plane")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Generic description of the type of NF",suggestibleOnSearch="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-function" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English description of Network function that the specific VNF deployment is providing")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role in the network that this model will be providing",suggestibleOnSearch="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-naming-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="string assigned to this model used for naming purposes")</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.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Gateway 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.onap.aai.annotations.Metadata(description="Prefix length for oam-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.onap.aai.annotations.Metadata(description="Temporary location for S-TAG to get to VCE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nm-profile-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Network Management profile of this VNF")</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:element ref="tns:licenses" minOccurs="0"/>
+        <xs:element ref="tns:entitlements" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generic-vnfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of VNFs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:generic-vnf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-link">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="LAG links can connect lag-interfaces",indexedProps="link-name",container="lag-links",namespace="network",uriTemplate="/network/lag-links/lag-link/{link-name}",requiredProps="link-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Alphabetical concatenation of lag-interface names")</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.onap.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="lag-links">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of link aggregation connections")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:lag-link" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="newvce">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/newvces/newvce/{vnf-id2}",requiredProps="vnf-id2,vnf-name,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.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="operational-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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="newvces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:newvce" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="software-version">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Software Version",indexedProps="softwareVersionId,isActiveSwVer",dependentOn="pnf",container="pnf",requiredProps="software-version-id,is-active-sw-ver")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="software-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Identifier of the software version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-active-sw-ver" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this software-version is the active one (activeSw = true)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="software-versions">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of software versions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:software-version" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE.",indexedProps="pnf-name,orchestration-status,inv-status,model-invariant-id,model-version-id,operational-status,admin-status",searchable="pnf-name",uniqueProps="pnf-name",container="pnfs",namespace="network",uriTemplate="/network/pnfs/pnf/{pnf-name}",requiredProps="pnf-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="unique name of Physical Network Function.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="name of Physical Network Function.")</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.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-name2-source" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="source of name2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="id of pnf")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-model" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</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.onap.aai.annotations.Metadata(description="identifier of managed by ATT or customer")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="sw-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="frame-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="serial-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Serial number of the device")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 OAM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI.")</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.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Nf Role is the role performed by this instance in the network.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="admin-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="admin Status of this PNF")</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.onap.aai.annotations.Metadata(description="Store the operational-status for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the model-customization-id for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The ASDC model id for this resource  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.onap.aai.annotations.Metadata(description="The ASDC model version for this resource  model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This is the IP address (IPv4) for the PNF itself. This is the IPv4 address that the PNF iself can be accessed at.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This is the IP address (IPv6) for the PNF itself. This is the IPv6 address that the PNF iself can be accessed at.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:software-versions" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="physical-link">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",searchable="link-name,circuit-id",uriTemplate="/network/physical-links/physical-link/{link-name}",requiredProps="link-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-provider-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the service Provider on this link.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-up-value" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Upstream Bandwidth value agreed with the service provider")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-up-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Units for the upstream BW value")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-down-value" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Downstream Bandwidth value agreed with the service provider")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-down-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Units for downstream BW value")</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.onap.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="physical-links">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vig-server">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/vig-servers/vig-server/{vig-address-type}",requiredProps="vig-address-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vig-address-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ipaddress-v4-vig" type="xs:string" minOccurs="0" maxOccurs="5000">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v4 IP of the vig server")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-vig" type="xs:string" minOccurs="0" maxOccurs="5000">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 IP of the vig server")</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.onap.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="vig-servers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vig-server" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ipsec-configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}",requiredProps="ipsec-configuration-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="ipsec-configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID of this configuration")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="requested-vig-address-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="requested-encryption-strength" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="requested-dmz-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ATT can offer a shared DMZ or a DMZ specific to a customer")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="shared-dmz-network-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Network address of shared DMZ")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="requested-customer-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ike-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="can be 1 or 2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-authentication" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Contains values like md5, sha1, sha256, sha384")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-encryption" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-dh-group" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-am-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-am-password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="pre-shared key for the above group name ")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-sa-lifetime" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Lifetime for IKEv1 SA")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-authentication" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="md5, sha1, sha256, sha384")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-encryption" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ipsec-sa-lifetime" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Life time for IPSec SA")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-pfs" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="enable PFS or not")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="xauth-userid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="user ID for xAuth, sm-user,ucpeHostName,nmteHostName")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="xauth-user-password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Encrypted using the Juniper $9$ algorithm")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dpd-interval" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The time between DPD probe")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dpd-frequency" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Maximum number of DPD before claiming the tunnel is down")</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.onap.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:vig-servers" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ipsec-configurations">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ipsec-configuration" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="route-table-reference">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/route-table-references/route-table-reference/{route-table-reference-id}",requiredProps="route-table-reference-id,route-table-reference-fqdn")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="route-table-reference-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="route-table-reference-fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="route-table-references">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack route table references")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:route-table-reference" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="General mechanism for grouping instances",nameProps="description,instance-group-name",uniqueProps="id",searchable="id,description",indexedProps="id,type,sub-type,model-invariant-id,model-version-id",container="instance-groups",namespace="network",uriTemplate="/network/instance-groups/instance-group/{id}",requiredProps="id,instance-group-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Instance Group ID, UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="instance-group-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role of the instance group.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.onap.aai.annotations.Metadata(description="ASDC model version uid for this resource model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Descriptive text to help identify the usage of this instance-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="instance-group-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Only valid value today is lower case ha for high availability")</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.onap.aai.annotations.Metadata(description="Concurrency value")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="instance-group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Instance-Group Name.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="instance-group-function" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Instance-Group Function")</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="instance-groups">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack route table references")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:instance-group" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="zone">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="A zone is a grouping of assets in a location homing to the same connections into the CBB",nameProps="zone-name",indexedProps="zone-id,design-type,zone-context",uniqueProps="zone-id",container="zones",namespace="network",uriTemplate="/network/zones/zone/{zone-id}",requiredProps="zone-id,zone-name,design-type,zone-context")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="zone-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Code assigned by AIC to the zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English name associated with the zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="design-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Design of zone [Medium/Large…]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="zone-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Context of zone [production/test]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Status of a zone.")</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.onap.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="zones">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of zones")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:zone" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vlan-mapping">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="vlan-mapping object is an optional child object of the forwarder-evc object.  A given forwarder-evc object may have multiple vlan-mapping objects.",dependentOn="forwarder-evc",uniqueProps="vlan-mapping-id",container="vlan-mappings",uriTemplate="/vlan-mappings/vlan-mapping/{vlan-mapping-id}",requiredProps="vlan-mapping-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-mapping-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Key for vlan-mapping object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="uni-cvlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CVLAN value from the UNI/ingress side of the SAREA gateway access device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nni-svlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="SVLAN value from the NNI/egress side of the SAREA gateway access device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nni-cvlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CVLAN value from the NNI/egress side of the SAREA gateway access device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ivlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The internal VLAN ('IVLAN') value.  Specific to Arista devices.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vlan-mappings">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of vlan mappings.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:vlan-mapping" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarder-evc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="forwarder object is an optional child object of the Configuration object.",dependentOn="configuration",uniqueProps="forwarder-evc-id",container="forwarder-evcs",uriTemplate="/forwarder-evcs/forwarder-evc/{forwarder-evc-id}",requiredProps="forwarder-evc-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="forwarder-evc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Key for forwarder-evc object")</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.onap.aai.annotations.Metadata(description="Circuit ID from customer/ESP/ingress end of EVC, or reference to beater circuit on gateway/network/egress end of EVC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ivlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Internal VLAN.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="svlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="SVLAN value for ingress of egress forwarder.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cvlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CVLAN value for ingress of egress forwarder.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:vlan-mappings" 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.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarder-evcs">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:forwarder-evc" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="evc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="evc object is an optional child object of the Configuration object.",dependentOn="configuration",uniqueProps="evc-id",container="evcs",uriTemplate="/evcs/evc/{evc-id}",requiredProps="evc-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="evc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique/key field for the evc object")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="forwarding-path-topology" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Point-to-Point, Multi-Point")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cir-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Commited Information Rate")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cir-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CIR units")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="connection-diversity-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Diversity Group ID")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-hours" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="formerly Performance Group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esp-evc-circuit-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="EVC Circuit ID of ESP EVC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esp-evc-cir-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Committed Information Rate (For ESP)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esp-evc-cir-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CIR units (For ESP)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esp-itu-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Identifies ESP")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collector-pop-clli" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Collector POP CLLI (from the hostname of the access pnf)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inter-connect-type-ingress" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Interconnect type on ingress side of EVC.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tagmode-access-ingress" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="tagode for collector side of EVC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tagmode-access-egress" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="tagMode for network side of EVC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <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.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="evcs">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:evc" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Generic configuration object.",indexedProps="configuration-id,model-invariant-id,model-version-id",uniqueProps="configuration-id",container="configurations",namespace="network",uriTemplate="/network/configurations/configuration/{configuration-id}",requiredProps="configuration-id,configuration-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID assigned to configuration.")</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.onap.aai.annotations.Metadata(description="Indicates the entity that will manage this feature. Could be an organization or the name of the application as well.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="port-mirroring-configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-sub-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vprobe, pprobe.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="Orchestration status of the configuration.")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details from SDN-GC.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="id of  the configuration used to customize the resource")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tunnel-bandwidth" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="DHV Site Effective Bandwidth")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vendor-allowed-max-bandwidth" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Velocloud Nominal Throughput - VNT")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="config-policy-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Used to capture the name of the fabric configuration policy that was used to generate the payload sent to PINC for fabric 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.onap.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:metadata" minOccurs="0"/>
+        <xs:element ref="tns:forwarder-evcs" minOccurs="0"/>
+        <xs:element ref="tns:evcs" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="configurations">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of configurations")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:configuration" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarder">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="sequence",description="Entity describing a sequenced segment of forwarding path",container="forwarders",dependentOn="forwarding-path",uriTemplate="/forwarders/forwarder/{sequence}",requiredProps="sequence")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="sequence" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of this segmentation")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="forwarder-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ingress, intermediate, egress")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <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.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarders">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:forwarder" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarding-path">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(namespace="network",indexedProps="forwarding-path-id,forwarding-path-name",description="Entity that describes the sequenced forwarding path between interfaces of services or resources",container="forwarding-paths",nameProps="forwarding-path-name",uniqueProps="forwarding-path-id",uriTemplate="/network/forwarding-paths/forwarding-path/{forwarding-path-id}",requiredProps="forwarding-path-id,forwarding-path-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="forwarding-path-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of this FP")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="forwarding-path-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the FP")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <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.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="the self link for this FP")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:forwarders" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarding-paths">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:forwarding-path" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="collection">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(namespace="network",description="represents the collection resource in the TOSCA model",uniqueProps="collection-id",indexedProps="collection-id,model-invariant-id,model-version-id",container="collections",uriTemplate="/network/collections/collection/{collection-id}",requiredProps="collection-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="collection-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Collection Object UUID")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.onap.aai.annotations.Metadata(description="Model Version",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collection-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="collection name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collection-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Collection type")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collection-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Collection Role")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collection-function" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Collection function")</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.onap.aai.annotations.Metadata(description="orchestration status")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collection-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Captures the id of all the configuration used to customize the resource for the service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <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.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="collections">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:collection" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vlan-tag">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(namespace="network",container="vlan-tags",uniqueProps="vlan-tag-id",uriTemplate="/network/vlan-tags/vlan-tag/{vlan-tag-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-tag-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of the vlan-tag")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-tag-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="purpose (l3-network to be connected to)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="VLAN inner id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-outer" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="VLAN outer id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-private" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="is VLAN private?")</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.onap.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="vlan-tags">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vlan-tag" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="connectivity">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a connectivity",indexedProps="connectivity-id,etht-svc-name,bandwidth-profile-name,vpn-type,color-aware,coupling-flag,access-provider-id,access-client-id,access-topology-id,access-node-id,access-ltp-id,operational-status",nameProps="etht-svc-name",searchable="connectivity-id",uniqueProps="connectivity-id",container="connectivities",namespace="network",requiredProps="connectivity-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="connectivity-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this connectivity by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-profile-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the name of a bandwidth profile.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the type of a bandwidth profile.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cir" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the CIR of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="eir" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the EIR of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cbs" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the CBS of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ebs" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the EBS of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="color-aware" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the color-awareness of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="coupling-flag" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the coupling flag of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="etht-svc-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The ethernet service name for this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-provider-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access provider of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-client-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access client of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-topology-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access topology of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-node-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access node of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-ltp-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access ltp of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="connectivity-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the link to get more information for this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cvlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the cvlan for this connectivity.")</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.onap.aai.annotations.Metadata(description="Store the operational-status for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the model-customization-id for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.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="connectivities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of connectivities")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:connectivity" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dhcp-service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a dhcp-service",indexedProps="dhcp-service-id,dhcp-service-type,domain-name,server-ipv4-address,server-ipv6-address",nameProps="domain-name",searchable="dhcp-service-id",uniqueProps="dhcp-service-id",container="dhcp-services",dependentOn="lan-port-config",namespace="network",requiredProps="dhcp-service-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="dhcp-service-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this dhcp-service by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="server-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the server-ip4-address of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="server-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the server-ipv6-address of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-enable" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the service-enable of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dhcp-service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the dhcp-service-type of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="lease-time" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the lease-time of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="domain-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the domain-name of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dns" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the dns of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ntp-primary" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the ntp-primary of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ntp-secondary" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the ntp-secondary of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nbns" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the nbns of this dhcp-service.")</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.onap.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="dhcp-services">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of dhcp-services")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:dhcp-service" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lan-port-config">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a lan-port-config",indexedProps="lan-port-config-id,lan-port-config-name,device-id,port-id,ipv4-address,ipv6-address,vlan-tag",nameProps="lan-port-config-name",searchable="lan-port-config-id",uniqueProps="lan-port-config-id",container="lan-port-configs",namespace="network",requiredProps="lan-port-config-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="lan-port-config-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this lan-port-config by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="lan-port-config-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the name of this lan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the description of this lan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="device-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the device-id of this lan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the port-id of this lan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the ipv4-address of this lan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the ipv6-address of this lan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-tag" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the vlan-tag of this lan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="input-bandwidth" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the input-bandwidth of this lan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="output-bandwidth" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the output-bandwidth of this lan-port-config.")</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.onap.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:dhcp-services" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lan-port-configs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of lan-port-configs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:lan-port-config" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-resource">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a network-resource",indexedProps="network-id,provider-id,client-id,te-topo-id",nameProps="network-id",searchable="network-id",uniqueProps="network-id",container="network-resources",namespace="network",requiredProps="network-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this network-resource by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="provider-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the provider of this network-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="client-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the client of this network-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="te-topo-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the te-topo of this network-resource.")</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.onap.aai.annotations.Metadata(description="Store the link to get more information for this object.")</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.onap.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="network-resources">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of network-resources")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:network-resource" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-resource">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a site-resource",indexedProps="site-resource-id,site-resource-name,type,role,generated-site-id,operational-status",nameProps="site-resource-name",searchable="site-resource-id",uniqueProps="site-resource-id",container="site-resources",namespace="network",requiredProps="site-resource-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="site-resource-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this site-resource by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="site-resource-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the name of this site-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the description of this site-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the type of this site-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the role of this site-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="generated-site-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the generated-site-id of this site-resource.")</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.onap.aai.annotations.Metadata(description="Store the link to get more information for this object.")</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.onap.aai.annotations.Metadata(description="Store the operational-status for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the model-customization-id for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.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="site-resources">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of site-resources")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:site-resource" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sdwan-vpn">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of an sdwan-vpn",indexedProps="sdwan-vpn-id,sdwan-vpn-name,vxlan-id,topology,operational-status",nameProps="sdwan-vpn-name",searchable="sdwan-vpn-id",uniqueProps="sdwan-vpn-id",container="sdwan-vpns",namespace="network",requiredProps="sdwan-vpn-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="sdwan-vpn-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this sdwan-vpn by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="sdwan-vpn-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the name of this sdwan-vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vxlan-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the vxlan-id of this sdwan-vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="topology" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the topology of this sdwan-vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tenant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the tenant-id of this sdwan-vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the vpn-id of this sdwan-vpn.")</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.onap.aai.annotations.Metadata(description="Store the link to get more information for this object.")</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.onap.aai.annotations.Metadata(description="Store the operational-status for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the model-customization-id for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.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="sdwan-vpns">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of sdwan-vpns")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:sdwan-vpn" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="device">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a device",indexedProps="device-id,device-name,esn,vendor,class,type,version,system-ip,system-ipv4,system-ipv6,operational-status",nameProps="device-name",searchable="device-id",uniqueProps="device-id",container="devices",namespace="network",requiredProps="device-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="device-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this device by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the esn of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="device-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the name of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the description of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the vendor of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="class" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the class of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the type of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the version of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-ip" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the system-ip of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-ipv4" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the system-ipv4 of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-ipv6" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the system-ipv6 of this device.")</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.onap.aai.annotations.Metadata(description="Store the link to get more information for this object.")</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.onap.aai.annotations.Metadata(description="Store the operational-status for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the model-customization-id for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.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="devices">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of devices")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:device" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="wan-port-config">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a wan-port-config",indexedProps="wan-port-config-id,wan-port-config-name,device-id,ip-address,ipv4-address,ipv6-address,port-type,port-number,device-port-id,wan-port-id,operational-status",nameProps="wan-port-config-name",searchable="wan-port-config-id",uniqueProps="wan-port-config-id",container="wan-port-configs",namespace="network",requiredProps="wan-port-config-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="wan-port-config-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this wan-port-config by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="wan-port-config-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the name of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="device-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the device of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the vlan of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ip-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the ip-address of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the ipv4-address of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the ipv6-address of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="provider-ip-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the provider-ip-address of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="provider-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the provider-ipv4-address of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="provider-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the provider-ipv6-address of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="input-bandwidth" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the input-bandwidth of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="output-bandwidth" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the output-bandwidth of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the description of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the port-type of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the port-number of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="transport-network-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the transport-network-name of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="device-port-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the device-port-id of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="wan-port-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the wan-port-id of this wan-port-config.")</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.onap.aai.annotations.Metadata(description="Store the link to get more information for this object.")</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.onap.aai.annotations.Metadata(description="Store the operational-status for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the model-customization-id for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.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="wan-port-configs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of wan-port-configs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:wan-port-config" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ext-aai-network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Refer to an external AAI in another ONAP.",indexedProps="aai-id",searchable="aai-id",container="ext-aai-networks",namespace="network",requiredProps="aai-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="aai-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of the referenced AAI.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="schema-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Schema version of the referenced AAI.")</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.onap.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:esr-system-info" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ext-aai-networks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ext-aai-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for network inventory resources.")</annox:annotate>
+        </xs:appinfo>
+      </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: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:element ref="tns:instance-groups" minOccurs="0"/>
+        <xs:element ref="tns:zones" minOccurs="0"/>
+        <xs:element ref="tns:configurations" minOccurs="0"/>
+        <xs:element ref="tns:forwarding-paths" minOccurs="0"/>
+        <xs:element ref="tns:collections" minOccurs="0"/>
+        <xs:element ref="tns:vlan-tags" minOccurs="0"/>
+        <xs:element ref="tns:connectivities" minOccurs="0"/>
+        <xs:element ref="tns:lan-port-configs" minOccurs="0"/>
+        <xs:element ref="tns:network-resources" minOccurs="0"/>
+        <xs:element ref="tns:site-resources" minOccurs="0"/>
+        <xs:element ref="tns:sdwan-vpns" minOccurs="0"/>
+        <xs:element ref="tns:devices" minOccurs="0"/>
+        <xs:element ref="tns:wan-port-configs" minOccurs="0"/>
+        <xs:element ref="tns:ext-aai-networks" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="reserved-prop-names">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Internal map to define some reserved properties of a vertex",uniqueProps="aai-unique-key",indexedProps="aai-unique-key,source-of-truth,aai-node-type,aai-uri")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="last-mod-source-of-truth" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-created-ts" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="aai-unique-key" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-last-mod-ts" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="source-of-truth" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-uri" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="edge-prop-names">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Internal map to define the properties of an edge and interpret the map EdgeRules",edgeInfo="aaiUuid,edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV",uniqueProps="aai-uuid",indexedProps="aai-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="edgeLabel" type="xs:string" minOccurs="0"/>
+        <xs:element name="direction" type="xs:string" minOccurs="0"/>
+        <xs:element name="multiplicityRule" type="xs:string" minOccurs="0"/>
+        <xs:element name="contains-other-v" type="xs:string" minOccurs="0"/>
+        <xs:element name="delete-other-v" type="xs:string" minOccurs="0"/>
+        <xs:element name="SVC-INFRA" type="xs:string" minOccurs="0"/>
+        <xs:element name="prevent-delete" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-uuid" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="aai-internal">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:reserved-prop-names" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:edge-prop-names" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="notification-event-header">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0"/>
+        <xs:element name="timestamp" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="domain" type="xs:string" minOccurs="0"/>
+        <xs:element name="sequence-number" type="xs:string" minOccurs="0"/>
+        <xs:element name="severity" type="xs:string" minOccurs="0"/>
+        <xs:element name="event-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="version" type="xs:string" minOccurs="0"/>
+        <xs:element name="action" type="xs:string" minOccurs="0"/>
+        <xs:element name="entity-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="top-entity-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="entity-link" type="xs:string" minOccurs="0"/>
+        <xs:element name="status" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="notification-event">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="cambria.partition" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:notification-event-header" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="overloaded-model">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Allows for legacy POST of old-style and new-style models",requiredProps="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-name-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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-vers" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="query-parameters">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="QueryParameters for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:named-query" minOccurs="0"/>
+        <xs:element ref="tns:overloaded-model" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-filter">
+    <xs:complexType>
+      <xs:sequence/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-filters">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="InstanceFilters for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:instance-filter" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="secondary-filt">
+    <xs:complexType>
+      <xs:sequence/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="secondary-filts">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="SecondaryFilts for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:secondary-filt" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-and-named-query-search">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:query-parameters" minOccurs="0"/>
+        <xs:element ref="tns:instance-filters" minOccurs="0"/>
+        <xs:element ref="tns:secondary-filts" minOccurs="0"/>
+        <xs:element name="top-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="secondary-filter-cut-point" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="properties">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Property holder for query properties or instance properties")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <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-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:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inventory-response-item">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Inventory item for response list",container="inventory-response-items")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-name" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:extra-properties" minOccurs="0"/>
+        <xs:element ref="tns:inventory-response-items" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inventory-response-items">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Container for inventory items in response list",container="response-list")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:inventory-response-item" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="response-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Response container for the results of a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:inventory-response-items" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Abstract vnf class",indexedProps="vnf-id",uniqueProps="vnf-id",inheritors="vce,generic-vnf",isAbstract="true",requiredProps="vnf-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:element name="inventory">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:search" minOccurs="0"/>
+        <xs:element ref="tns:actions" minOccurs="0"/>
+        <xs:element ref="tns:cloud-infrastructure" minOccurs="0"/>
+        <xs:element ref="tns:external-system" minOccurs="0"/>
+        <xs:element ref="tns:business" minOccurs="0"/>
+        <xs:element ref="tns:service-design-and-creation" minOccurs="0"/>
+        <xs:element ref="tns:network" minOccurs="0"/>
+        <xs:element ref="tns:aai-internal" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
diff --git a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v15.xsd b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v15.xsd
new file mode 100644 (file)
index 0000000..0ea81e2
--- /dev/null
@@ -0,0 +1,10140 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://org.onap.aai.inventory/v15" xmlns:tns="http://org.onap.aai.inventory/v15" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+    jaxb:version="2.1"
+    xmlns:annox="http://annox.dev.java.net"
+    jaxb:extensionBindingPrefixes="annox">
+
+  <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="5000"/>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="5000"/>
+      </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="edge-tag-query-result">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="5000"/>
+      </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="edge-tag-query-request">
+    <xs:complexType>
+      <xs:sequence>
+        <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="5000"/>
+        <xs:element ref="tns:include-node-filter" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:secondary-filter" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="result-data">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="The URL to the specific resource")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="resource-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="search-results">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:result-data" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship-data">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Value of the attribute.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="relationship-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="A keyword provided by A&amp;AI to indicate an attribute.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="relationship-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Value of the attribute.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-to-property">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Value part of a key/value pair")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="property-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Key part of a key/value pair")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="property-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Value part of a key/value pair")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="URL to the object in A&amp;AI.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="related-to" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="relationship-label" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The edge label for this relationship.")</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.onap.aai.annotations.Metadata(description="URL to the object in A&amp;AI.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-data" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:related-to-property" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship-list">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:relationship" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="oam-network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/oam-networks/oam-network/{network-uuid}",requiredProps="network-uuid,network-name,cvlan-tag")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="network-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the network.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cvlan-tag" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="cvlan-id")</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.onap.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="ipv4-oam-gateway-address-prefix-length" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="oam-networks">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:oam-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dvs-switch">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/dvs-switches/dvs-switch/{switch-name}",requiredProps="switch-name,vcenter-url")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="switch-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="DVS switch name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcenter-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL used to reach the vcenter")</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.onap.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="dvs-switches">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of digital virtual switch metadata used for vmWare VCEs and GenericVnfs.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:dvs-switch" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="availability-zone">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Availability zone, a collection of compute hosts/pservers",indexedProps="availability-zone-name",dependentOn="cloud-region",container="availability-zones",uriTemplate="/availability-zones/availability-zone/{availability-zone-name}",requiredProps="availability-zone-name,hypervisor-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="availability-zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="hypervisor-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="operational-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="State that indicates whether the availability zone should be used, etc.  Source of truth should define valid values.")</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.onap.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="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="5000"/>
+      </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="update">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team.",requiredProps="update-node-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="update-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:update-node-key" minOccurs="0" maxOccurs="5000"/>
+        <xs:element name="update-node-uri" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:action" minOccurs="0" maxOccurs="5000"/>
+      </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" minOccurs="0"/>
+        <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="5000"/>
+        <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.onap.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.onap.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",uriTemplate="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}",requiredProps="target-pe,availability-zone-name,ctag-pool-purpose")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="target-pe" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="The Target provider edge router")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="availability-zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the availability zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ctag-pool-purpose" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Describes what the intended purpose of this pool is.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ctag-values" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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-pools">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ctag-pool" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="complex">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/cloud-infrastructure/complexes/complex/{physical-location-id}",requiredProps="physical-location-id,physical-location-type,street1,city,postal-code,country,region")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="physical-location-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="data-center-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="complex-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Gamma complex name for LCP instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="identity-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL of the keystone identity service")</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.onap.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="physical-location-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <xs:element name="street2" type="xs:string" minOccurs="0"/>
+        <xs:element name="city" type="xs:string" minOccurs="0"/>
+        <xs:element name="state" type="xs:string" minOccurs="0"/>
+        <xs:element name="postal-code" type="xs:string" minOccurs="0"/>
+        <xs:element name="country" type="xs:string" minOccurs="0"/>
+        <xs:element name="region" type="xs:string" minOccurs="0"/>
+        <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="complexes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of physical locations that can house cloud-regions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:complex" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persistent block-level storage.",indexedProps="volume-group-name,vnf-type,heat-stack-id,volume-group-id",searchable="volume-group-id,volume-group-name",dependentOn="cloud-region",container="volume-groups",uriTemplate="/volume-groups/volume-group/{volume-group-id}",requiredProps="volume-group-id,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="volume-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of volume-group.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="volume-group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the volume group.")</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.onap.aai.annotations.Metadata(description="Heat stack id corresponding to this volume-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Orchestration status of this volume-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-module-model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="helps relate the volume group to the vf-module whose components will require the volume group")</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.onap.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="volume-groups">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Ephemeral Block storage volume.",indexedProps="volume-id",dependentOn="vserver",container="volumes",uriTemplate="/volumes/volume/{volume-id}",requiredProps="volume-id,volume-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="volume-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="volume-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="volumes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of ephemeral Block storage volumes.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:volume" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-interface-ipv4-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,vnfc,cp",uriTemplate="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}",requiredProps="l3-interface-ipv4-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="l3-interface-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="l3-interface-ipv4-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 32 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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-interface-ipv6-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,vnfc,cp",uriTemplate="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}",requiredProps="l3-interface-ipv6-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="l3-interface-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="l3-interface-ipv6-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 128 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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="vlan">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Definition of vlan",indexedProps="vlan-interface,vlan-id-inner,vpn-key",dependentOn="l-interface",container="vlans",uriTemplate="/vlans/vlan/{vlan-interface}",requiredProps="vlan-interface,in-maint,is-ip-unnumbered")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-interface" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="String that identifies the interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.aai.annotations.Metadata(description="Outer VLAN tag")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Used to describe (the service associated with) the vlan")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="backdoor-connection" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vpn-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This indicates the customers VPN ID associated with this vlan")</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.onap.aai.annotations.Metadata(description="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV].")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-ip-unnumbered" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="Flag indicating the interface uses the IP Unnumbered configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-private" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="Private VLAN indicator.")</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="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vlans">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vlan" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sriov-vf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/sriov-vfs/sriov-vf/{pci-id}",requiredProps="pci-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pci-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-vlan-filter" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-mac-filter" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-vlan-strip" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="sriov-vfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of SR-IOV Virtual Functions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:sriov-vf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Logical interfaces, e.g., a vnic.",indexedProps="macaddr,interface-id,interface-name,network-name",dependentOn="generic-vnf,newvce,p-interface,vserver,lag-interface,l-interface",container="l-interfaces",uriTemplate="/l-interfaces/l-interface/{interface-name}",requiredProps="interface-name,is-port-mirrored,in-maint,is-ip-unnumbered")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="E.g., CUSTOMER, UPLINK, etc.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="v6-wan-link-ip" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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>
+        <xs:element name="interface-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Human friendly text regarding this interface.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-port-mirrored" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="boolean indicatating whether or not port is a mirrored.")</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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV].")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-ip-unnumbered" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="Flag indicating the interface uses the IP Unnumbered configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="allowed-address-pairs" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Freeform field for storing an ip address, list of ip addresses or a subnet block.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="priority" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Priority used for fail-over. Valid values 1-1024, with 1 being the highest priority.")</annox:annotate>
+            </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:l-interfaces" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l3-interface-ipv4-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element name="admin-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Administrative status of the interface. Valid values are 'up', 'down', or 'testing'.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l-interfaces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vserver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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-id,vserver-name,vserver-name2",dependentOn="tenant",container="vservers",uriTemplate="/vservers/vserver/{vserver-id}",requiredProps="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vserver-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vserver-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of vserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vserver-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Alternative name of vserver")</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.onap.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="vserver-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-closed-loop-disabled" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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: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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="nos-server">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="nos-server is the execution environment that will have images, certain versions of VNOS, running on it.",indexedProps="nos-server-id",dependentOn="tenant",nameProps="nos-server-name",container="nos-servers",uriTemplate="/nos-servers/nos-server/{nos-server-id}",requiredProps="nos-server-id,nos-server-name,vendor,nos-server-selflink,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="nos-server-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier for this nos relative to its tenant")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nos-server-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of nos")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="uCPE vendor")</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.onap.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="nos-server-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="nos-servers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="nos-server is the execution environment that will have images, certain versions of VNOS, running on it.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:nos-server" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tenant">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack tenant",nameProps="tenant-name",indexedProps="tenant-name,tenant-id,tenant-context",searchable="tenant-id,tenant-name",dependentOn="cloud-region",container="tenants",uriTemplate="/tenants/tenant/{tenant-id}",requiredProps="tenant-id,tenant-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="tenant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Readable name of tenant")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tenant-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This field will store the tenant context.")</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.onap.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:vservers" minOccurs="0"/>
+        <xs:element ref="tns:nos-servers" 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.onap.aai.annotations.Metadata(description="Collection of openstack tenants.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:tenant" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="hpa-feature-attributes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="HPA Capability Feature attributes",indexedProps="hpa-attribute-key",dependentOn="hpa-capability",requiredProps="hpa-attribute-key")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hpa-attribute-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="name of the specific HPA attribute")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="hpa-attribute-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="JSON string specifying the value, unit and type of the specific HPA attribute")</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.onap.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="hpa-capability">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents a HPA capability",indexedProps="hpa-feature,architecture,hpa-capability-id",dependentOn="flavor,cloud-region",container="hpa-capabilities",requiredProps="hpa-capability-id,hpa-feature")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hpa-capability-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID to uniquely identify a HPA capability")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="hpa-feature" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the HPACapability")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="hpa-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="HPA schema version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="architecture" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Hardware architecture")</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.onap.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:hpa-feature-attributes" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="hpa-capabilities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of HPA Capabilities")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:hpa-capability" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="flavor">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack flavor.",nameProps="flavor-name",indexedProps="flavor-name,flavor-id",dependentOn="cloud-region",container="flavors",uriTemplate="/flavors/flavor/{flavor-id}",requiredProps="flavor-id,flavor-name,flavor-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="flavor-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="flavor-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Cloud Region Flavor name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-vcpus" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Number of CPUs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-ram" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Amount of memory")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-disk" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Disk space")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-ephemeral" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Amount of ephemeral disk space")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-swap" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="amount of swap space allocation")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-is-public" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="flavor-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Boolean as to whether this flavor is no longer enabled")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:hpa-capabilities" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="List of flavor specific HPA Capabilities")</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.onap.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="flavors">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack flavors.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:flavor" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="group-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack group-assignment used to store exclusivity groups (EG).",nameProps="group-name",indexedProps="group-id,group-type,group-name",searchable="group-id,group-name",dependentOn="cloud-region",container="group-assignments",uriTemplate="/group-assignments/group-assignment/{group-id}",requiredProps="group-id,group-type,group-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="group-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Group description - description of the group")</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.onap.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="group-assignments">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack group assignments")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:group-assignment" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="snapshot">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/snapshots/snapshot/{snapshot-id}",requiredProps="snapshot-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="snapshot-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="snapshot-os-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="This field contains the UUID of the previous snapshot (if any).")</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.onap.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="snapshots">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack snapshots")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:snapshot" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="metadatum">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Key/value pairs",indexedProps="metaname",dependentOn="tenant,image,service-instance,connector,model",container="metadata",uriTemplate="/metadata/metadatum/{metaname}",requiredProps="metaname,metaval")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="metaname" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true)</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="metaval" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="metadata">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="image">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack image.",nameProps="image-name",indexedProps="application,image-name,application-vendor,image-id,application-version",dependentOn="cloud-region",container="images",uriTemplate="/images/image/{image-id}",requiredProps="image-id,image-name,image-os-distro,image-os-version,image-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="image-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="image-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Image name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-architecture" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Operating system architecture.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-os-distro" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="image-os-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="The version of the application.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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:metadata" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="images">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collectio of Openstack images.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:image" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="availability-zones">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of availability zones")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:availability-zone" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vip-ipv4-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="IPv4 Address Range",indexedProps="vip-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="cloud-region",uriTemplate="/vip-ipv4-address-list/{vip-ipv4-address}",requiredProps="vip-ipv4-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vip-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vip-ipv4-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 32 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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="vip-ipv6-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="IPv6 Address Range",indexedProps="vip-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id",dependentOn="cloud-region",uriTemplate="/vip-ipv6-address-list/{vip-ipv6-address}",requiredProps="vip-ipv6-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vip-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vip-ipv6-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 128 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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="esr-system-info">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist common address information of external systems.",indexedProps="esr-system-info-id,system-name,system-type",searchable="esr-system-info-id,system-name,system-type",container="esr-system-info-list",dependentOn="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc,ext-aai-network",requiredProps="esr-system-info-id,user-name,password,system-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="esr-system-info-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of esr system info.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="name of external system.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="type of external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vendor of external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="version of external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="url used to access external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="user-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="username used to access external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="password used to access external systems.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="it could be vim/vnfm/thirdparty-sdnc/ems-resource/ems-performance/ems-alarm.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="protocol" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="protocol of third party SDNC, for example netconf/snmp.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ssl-cacert" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ca file content if enabled ssl on auth-url.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ssl-insecure" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Whether to verify VIM's certificate.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ip-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="service IP of ftp server.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="service port of ftp server.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-domain" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="domain info for authentication.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="default-tenant" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="default tenant of VIM.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="passive" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ftp passive mode or not.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="remote-path" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="resource or performance data file path.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="the status of external system.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="openstack-region-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="OpenStack region ID used by MultiCloud plugin to interact with an OpenStack 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.onap.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="esr-system-info-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of persistent block-level external system auth info.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-system-info" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-region">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}",requiredProps="cloud-owner,cloud-region-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cloud-owner" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="cloud-region-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="cloud-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Type of the cloud (e.g., openstack)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="owner-defined-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Cloud-owner defined type indicator (e.g., dcp, lcp)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-region-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Software version employed at the site.  NOTE - THIS FIELD IS NOT KEPT UP TO DATE.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="identity-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL of the keystone identity service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-zone" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Zone where the cloud is homed.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="complex-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="complex name for cloud-region instance.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="sriov-automation" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Whether the cloud region supports (true) or does not support (false) SR-IOV automation.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-extra-info" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ESR inputs extra information about the VIM or Cloud which will be decoded by MultiVIM.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="upgrade-cycle" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Upgrade cycle for the cloud region. For AIC regions upgrade cycle is designated by A,B,C 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.onap.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: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:element ref="tns:vip-ipv4-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:vip-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:hpa-capabilities" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="List of cloud-region specific HPA Capabilities")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:esr-system-info-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-regions">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:cloud-region" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-profile">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Network profile populated by SDN-GP for SNMP",indexedProps="nm-profile-name",container="network-profiles",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}",requiredProps="nm-profile-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="nm-profile-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique name of network profile.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="community-string" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Encrypted SNMP community string")</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.onap.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="network-profiles">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sriov-pf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="SR-IOV Physical Function",indexedProps="pf-pci-id",dependentOn="p-interface",container="sriov-pfs",uriTemplate="/sriov-pfs/sriov-pf/{pf-pci-id}",requiredProps="pf-pci-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pf-pci-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Identifier for the sriov-pf")</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.onap.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="sriov-pfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of SR-IOV Physical Functions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:sriov-pf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="p-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Physical interface (e.g., nic)",indexedProps="interface-name,prov-status,networkRef,operational-status",nameProps="prov-status",dependentOn="vpls-pe,pserver,pnf",container="p-interfaces",uriTemplate="/p-interfaces/p-interface/{interface-name}",requiredProps="interface-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name that identifies the physical interface")</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.onap.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-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Nature of the services and connectivity on this port.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equipment-identifier" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CLEI or other specification for p-interface hardware.")</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.onap.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.onap.aai.annotations.Metadata(description="Indicates the physical properties of the interface.")</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.onap.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="mac-addresss" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="MAC Address of the p-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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="inventory status")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-ref" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the network-ref of this p-interface. Derived from ietf-restconf-notification that identifies a termination-point.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="transparent" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the transparent value of this p-interface.")</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.onap.aai.annotations.Metadata(description="oper Status of this p-interface.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:sriov-pfs" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Link aggregate interface",indexedProps="interface-name,interface-id,interface-role",dependentOn="generic-vnf,pserver,vpls-pe,pnf",container="lag-interfaces",uriTemplate="/lag-interfaces/lag-interface/{interface-name}",requiredProps="interface-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name that identifies the link aggregate interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="interface-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Human friendly text regarding this 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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</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.onap.aai.annotations.Metadata(description="ID of 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.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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 ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-interfaces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of link aggregate interfaces.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:lag-interface" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="hpa-capacity">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="HPA Capacity information for compute node",indexedProps="hpa-capacity-key",dependentOn="hpa-capacity",requiredProps="hpa-capacity-key")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hpa-capacity-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Composite key formed with hpaFeature and append list of hpaFeatureAttributes needed for capacity check")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="hpa-capacity-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="JSON string specifying the capacity (total,free), unit and metadata of the specific HPA attribute")</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.onap.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="pserver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,inv-status",searchable="hostname,pserver-name2,pserver-id,ipv4-oam-address",uniqueProps="hostname",container="pservers",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/pservers/pserver/{hostname}",requiredProps="hostname,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hostname" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ptnii-equip-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="PTNII name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="number-of-cpus" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Number of cpus")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="disk-in-gigabytes" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Disk size, in GBs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ram-in-megabytes" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="RAM size, in MBs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-model" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Fully-qualified domain name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pserver-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</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.onap.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="serial-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Serial number, may be queried")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 OAM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pserver-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ID of Pserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="internet-topology" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="internet topology of Pserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="purpose of pserver")</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.onap.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]")</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.onap.aai.annotations.Metadata(description="Indicates who owns and or manages the device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="host-profile" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The host profile that defines the configuration of the pserver.")</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:hpa-capacity" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pservers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of compute hosts.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:pserver" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="virtual-data-center">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}",requiredProps="vdc-id,vdc-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vdc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of the vdc")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdc-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the virtual data center")</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.onap.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="virtual-data-centers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:virtual-data-center" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="operational-environment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="It is a logical partition of the cloud which allows to have multiple environments in the production AIC.",indexedProps="operational-environment-id",nameProps="operational-environment-name",uniqueProps="operational-environment-id",container="operational-environments",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/operational-environments/operational-environment/{operational-environment-id}",requiredProps="operational-environment-id,operational-environment-name,operational-environment-type,operational-environment-status,tenant-context,workload-context")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="operational-environment-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID of an operational environment")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="operational-environment-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Operational Environment name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="operational-environment-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Operational Environment Type.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="operational-environment-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Status")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tenant-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Tenant Context.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="workload-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Workload Context.")</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.onap.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="operational-environments">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="a logical partition of the cloud which allows to have multiple environments in the production AIC.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:operational-environment" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-technology">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="The network-technology object is used to capture the supported network technologies of a cloud-region.",nameProps="network-technology-id,network-technology-name",uniqueProps="network-technology-id",container="network-technologies",namespace="cloud-infrastructure",uriTemplate="/cloud-infrastructure/network-technologies/network-technology/{network-technology-id}",requiredProps="network-technology-id,network-technology-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-technology-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier of the network-technology object (UUID)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-technology-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The network-technology  that a cloud-region can support. Current valid values- CONTRAIL AIC_SR_IOV OVS STANDARD-SR-IOV")</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.onap.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="network-technologies">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description=" The network-technology object is used to capture the supported network technologies of a cloud-region.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:network-technology" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-infrastructure">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for cloud infrastructure.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <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:element ref="tns:operational-environments" minOccurs="0"/>
+        <xs:element ref="tns:network-technologies" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-ems">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist EMS address information used by EMS driver.",indexedProps="ems-id",searchable="ems-id",container="esr-ems-list",namespace="external-system",requiredProps="ems-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="ems-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of EMS.")</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.onap.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:esr-system-info-list" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-ems-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-ems" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-vnfm">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist VNFM address information used by VF-C.",indexedProps="vnfm-id",searchable="vnfm-id",container="esr-vnfm-list",namespace="external-system",requiredProps="vnfm-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnfm-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of VNFM.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vim-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="indecate the VIM to deploy VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="certificate-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="certificate url of VNFM.")</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.onap.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:esr-system-info-list" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-vnfm-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-vnfm" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-thirdparty-sdnc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persist SDNC address information used by ONAP SDNC.",indexedProps="sdnc-id",searchable="sdnc-id",container="esr-thirdparty-sdnc-list",namespace="external-system",requiredProps="thirdparty-sdnc-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="thirdparty-sdnc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of SDNC.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="location" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="used for DC type to indicate the location of SDNC, such as Core or Edge.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="product-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="password used to access SDNC server.")</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.onap.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:esr-system-info-list" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="esr-thirdparty-sdnc-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-thirdparty-sdnc" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="external-system">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for external system.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:esr-ems-list" minOccurs="0"/>
+        <xs:element ref="tns:esr-vnfm-list" minOccurs="0"/>
+        <xs:element ref="tns:esr-thirdparty-sdnc-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="connector">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of resource instances used to connect a variety of disparate inventory widgets",indexedProps="resource-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version",container="connectors",namespace="business",uriTemplate="/business/connectors/connector/{resource-instance-id}",requiredProps="resource-instance-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="resource-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique id of resource 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.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{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.onap.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.onap.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="connectors">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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 ref="tns:connector" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tunnel-xconnect">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted",uniqueProps="id",indexedProps="id",dependentOn="allotted-resource",container="tunnel-xconnects",uriTemplate="/tunnel-xconnects/tunnel-xconnect/{id}",requiredProps="id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Allotted Resource 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.onap.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="tunnel-xconnects">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="This object is used to store the specific tunnel cross connect aspects of an allotted resource")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:tunnel-xconnect" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="allotted-resource">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents a slice or partial piece of a resource that gets separately allotted",nameProps="description,allotted-resource-name",uniqueProps="id",indexedProps="id,model-invariant-id,model-version-id,type,role,allotted-resource-name,access-provider-id,access-client-id,access-topology-id,access-node-id,access-ltp-id,vpn-name",dependentOn="service-instance",container="allotted-resources",uriTemplate="/allotted-resources/allotted-resource/{id}",requiredProps="id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Allotted Resource id UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The descriptive information assigned to this allotted resource instance")</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.onap.aai.annotations.Metadata(description="Link back to more information in the controller")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.aai.annotations.Metadata(description="Concurrency 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.onap.aai.annotations.Metadata(description="Orchestration status")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Generic description of the type of allotted resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role in the network that this resource will be providing.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="allotted-resource-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the name of this allotted-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-provider-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access provider of this allotted-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-client-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access client of this allotted-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-topology-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access topology of this allotted-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-node-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access node of this allotted-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-ltp-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access ltp of this allotted-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cvlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the cvlan of this allotted-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the vpn-name of this allotted-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:tunnel-xconnects" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="allotted-resources">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="This object is used to store slices of services being offered")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:allotted-resource" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-instance">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a service",indexedProps="service-instance-id,model-invariant-id,model-version-id,widget-model-id,widget-model-version,service-instance-name,service-instance-location-id,orchestration-status,environment-context,workload-context",nameProps="service-instance-name",searchable="service-instance-id,service-instance-name",uniqueProps="service-instance-id",dependentOn="service-subscription",container="service-instances",uriTemplate="/service-instances/service-instance/{service-instance-id}",requiredProps="service-instance-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this instance of a service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-instance-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="String capturing type of service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="String capturing the service role.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="environment-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This field will store the environment context assigned to the service-instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="workload-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This field will store the workload context assigned to the service-instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="created-at" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="create time of Network Service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="updated-at" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="last update of Network Service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="short description for service-instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</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.onap.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.onap.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="bandwidth-total" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicates the total bandwidth to be used for this service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vhn-portal-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL customers will use to access the vHN Portal.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-instance-location-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Orchestration status of this service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="input-parameters" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="String capturing request parameters from SO to pass to Closed Loop.")</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:allotted-resources" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-instances">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of service instances")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:service-instance" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-subscription">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Object that group service instances.",indexedProps="service-type",dependentOn="customer",container="service-subscriptions",crossEntityReference="service-instance,service-type",uriTemplate="/service-subscriptions/service-subscription/{service-type}",requiredProps="service-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="temp-ub-sub-account-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-subscriptions">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of objects that group service instances.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:service-subscription" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="customer">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="global-customer-id,subscriber-name",uniqueProps="global-customer-id",container="customers",namespace="business",uriTemplate="/business/customers/customer/{global-customer-id}",requiredProps="global-customer-id,subscriber-name,subscriber-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="global-customer-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="subscriber-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="customers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="line-of-business">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes a line-of-business",indexedProps="line-of-business-name",uniqueProps="line-of-business-name",container="lines-of-business",namespace="business",uriTemplate="/business/lines-of-business/line-of-business/{line-of-business-name}",requiredProps="line-of-business-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="line-of-business-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the line-of-business (product)")</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.onap.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="lines-of-business">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of lines-of-business")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:line-of-business" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="owning-entity">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes an owning-entity",indexedProps="owning-entity-id,owning-entity-name",searchable="owning-entity-id",uniqueProps="owning-entity-id,owning-entity-name",container="owning-entities",namespace="business",uriTemplate="/business/owning-entities/owning-entity/{owning-entity-id}",requiredProps="owning-entity-id,owning-entity-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="owning-entity-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID of an owning entity")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="owning-entity-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Owning entity name")</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.onap.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="owning-entities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of owning-entities")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:owning-entity" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="platform">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes a platform",indexedProps="platform-name",uniqueProps="platform-name",container="platforms",namespace="business",uriTemplate="/business/platforms/platform/{platform-name}",requiredProps="platform-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="platform-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the platform")</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.onap.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="platforms">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of platforms")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:platform" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="project">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="describes the project",indexedProps="project-name",uniqueProps="project-name",container="projects",namespace="business",uriTemplate="/business/projects/project/{project-name}",requiredProps="project-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="project-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the project deploying a service")</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.onap.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="projects">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of projects")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:project" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sp-partner">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of an sp-partner",indexedProps="sp-partner-id,url,callsource",nameProps="sp-partner-id",searchable="sp-partner-id",uniqueProps="sp-partner-id",container="sp-partners",namespace="business",uriTemplate="/business/sp-partners/sp-partner/{sp-partner-id}",requiredProps="sp-partner-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="sp-partner-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this sp-partner by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the URL of this sp-partner.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="callsource" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the callsource of this sp-partner.")</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.onap.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="operational-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the operational-status for this sp-partner.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the model-customization-id for this sp-partner.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="the ASDC model id for this sp-partner 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.onap.aai.annotations.Metadata(description="the ASDC model version for this sp-partner model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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="sp-partners">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of sp-partners")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:sp-partner" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="business">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for business related constructs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:connectors" minOccurs="0"/>
+        <xs:element ref="tns:customers" minOccurs="0"/>
+        <xs:element ref="tns:lines-of-business" minOccurs="0"/>
+        <xs:element ref="tns:owning-entities" minOccurs="0"/>
+        <xs:element ref="tns:platforms" minOccurs="0"/>
+        <xs:element ref="tns:projects" minOccurs="0"/>
+        <xs:element ref="tns:sp-partners" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnf-image">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/service-design-and-creation/vnf-images/vnf-image/{vnf-image-uuid}",requiredProps="vnf-image-uuid,application,application-vendor")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-image-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of this asset")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="vnf-images">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:vnf-image" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Stand-in for service model definitions.  Likely to be deprecated in favor of models from ASDC.  Does not strictly map to ASDC services.",indexedProps="service-description,service-id",container="services",namespace="service-design-and-creation",uriTemplate="/service-design-and-creation/services/service/{service-id}",requiredProps="service-id,service-description")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="service-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Description of the service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="service version")</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="services">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-capability">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}",requiredProps="service-type,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="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.")</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.onap.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="service-capabilities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="element-choice-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/element-choice-sets/element-choice-set/{element-choice-set-uuid}",requiredProps="element-choice-set-uuid,element-choice-set-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="element-choice-set-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="constrained-element-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}",requiredProps="constrained-element-set-uuid,constraint-type,check-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="constrained-element-set-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="constraint-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="check-type" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-constraint">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/model-constraints/model-constraint/{model-constraint-uuid}",requiredProps="model-constraint-uuid,constrained-element-set-uuid-to-replace")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-constraint-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <xs:element ref="tns:constrained-element-sets" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-constraints">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:model-constraint" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-element">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/model-elements/model-element/{model-element-uuid}",requiredProps="model-element-uuid,new-data-del-flag,cardinality")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-element-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-ver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models",nameProps="model-name",indexedProps="model-version-id,model-name,model-version,distribution-status",uniqueProps="model-version-id",container="model-vers",uriTemplate="/model-vers/model-ver/{model-version-id}",requiredProps="model-version-id,model-name,model-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="distribution-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Distribution Status")</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.onap.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.onap.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="model-vers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:model-ver" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version",nameProps="model-type",indexedProps="model-invariant-id,model-type",uniqueProps="model-invariant-id",container="models",namespace="service-design-and-creation",uriTemplate="/service-design-and-creation/models/model/{model-invariant-id}",requiredProps="model-invariant-id,model-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-vers" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-lookup">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="related-lookup-uuid",indexedProps="related-lookup-uuid",allowDirectRead="true",allowDirectWrite="false",container="related-lookups",requiredProps="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="related-lookup-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="source-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-node-property" type="xs:string" minOccurs="0"/>
+        <xs:element name="target-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="target-node-property" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-collect-list" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="property-constraint">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="property-constraint-uuid",indexedProps="property-constraint-uuid",allowDirectRead="true",allowDirectWrite="false",container="property-constraints",requiredProps="property-constraint-uuid,constraint-type,property-name,property-value")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="property-constraint-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="constraint-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-value" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query-element">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="named-query-element-uuid",indexedProps="named-query-element-uuid",allowDirectRead="true",allowDirectWrite="false",container="named-query-elements",requiredProps="named-query-element-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="named-query-element-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="named-query-uuid,named-query-name,named-query-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="named-query-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true)</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="named-query-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="named-query-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="required-input-params" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="required-input-param" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+            </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-design-and-creation">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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.onap.aai.annotations.Metadata(description="Logical links generally connect l-interfaces but are used to express logical connectivity between two points",indexedProps="link-name,model-invariant-id,model-version-id,widget-model-id,widget-model-version,link-id,prov-status,circuit-id,purpose,operational-status",uniqueProps="link-id",container="logical-links",namespace="network",searchable="link-name",uriTemplate="/network/logical-links/logical-link/{link-name}",requiredProps="link-name,in-maint,link-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="link-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Indication of operational status of the logical link.")</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.onap.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="link-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="UUID of the logical-link, SDNC generates this.")</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.onap.aai.annotations.Metadata(description="Circuit id")</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.onap.aai.annotations.Metadata(description="Reason for this entity, role it is playing")</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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="class-of-service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="cos",dependentOn="site-pair",container="classes-of-service",uriTemplate="/classes-of-service/class-of-service/{cos}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cos" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="site-pair-id",uniqueProps="site-pair-id",dependentOn="routing-instance",container="site-pairs",uriTemplate="/site-pairs/site-pair/{site-pair-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="site-pair-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="The type of destinatination equipment. Could be Router, UCPE, 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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="routing-instance">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="routing-instance-id",dependentOn="site-pair-set",container="routing-instances",uriTemplate="/routing-instances/routing-instance/{routing-instance-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="routing-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/site-pair-sets/site-pair-set/{site-pair-set-id}",requiredProps="site-pair-set-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="site-pair-set-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="route-target">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Route target information",container="route-targets",dependentOn="vpn-binding",canBeLinked="true",uriTemplate="/route-targets/route-target/{global-route-target}/{route-target-role}",requiredProps="global-route-target,route-target-role")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="global-route-target" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Number used to identify an RT, globally unique in the network")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-target-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Role assigned to this route target")</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.onap.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="route-targets">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of route target information")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:route-target" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpn-binding">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="VPN binding",nameProps="vpn-name,vpn-type",indexedProps="vpn-name,vpn-id,vpn-type,access-provider-id,access-client-id,access-topology-id,src-access-node-id,src-access-ltp-id,dst-access-node-id,dst-access-ltp-id,operational-status",searchable="vpn-id,vpn-name",uniqueProps="vpn-id",container="vpn-bindings",namespace="network",uriTemplate="/network/vpn-bindings/vpn-binding/{vpn-id}",requiredProps="vpn-id,vpn-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vpn-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="VPN Name")</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.onap.aai.annotations.Metadata(description="the platform associated with the VPN example AVPN, Mobility")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Type of the vpn, should be taken from enumerated/valid values")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-region" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="region of customer vpn")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="customer-vpn-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="id for this customer vpn")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-distinguisher" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-provider-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access provider of this vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-client-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access client of this vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-topology-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access topology of this vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="src-access-node-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the src-access-node of this vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="src-access-ltp-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the src-access-ltp of this vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dst-access-node-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the dst-access-node of this vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dst-access-ltp-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the dst-access-ltp of this vpn.")</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.onap.aai.annotations.Metadata(description="Store the operational-status for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the model-customization-id for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.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:route-targets" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpls-pe">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="VPLS Provider Edge routers.",indexedProps="prov-status,equipment-name",container="vpls-pes",namespace="network",uriTemplate="/network/vpls-pes/vpls-pe/{equipment-name}",requiredProps="equipment-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="equipment-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="multicast-configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="multicast-configuration-id",uniqueProps="multicast-configuration-id",container="multicast-configurations",namespace="network",uriTemplate="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="multicast-configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="protocol of multicast configuration")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="rp-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cvlan-tag-entry">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(dependentOn="port-group",indexedProps="cvlan-tag",container="cvlan-tags",uriTemplate="/cvlan-tags/cvlan-tag/{cvlan-tag}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cvlan-tag" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="port-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/port-groups/port-group/{interface-id}",requiredProps="interface-id,orchestration-status")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="license">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Metadata for license group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce",container="licenses",uriTemplate="/licenses/license/{group-uuid}/{resource-uuid}",requiredProps="group-uuid,resource-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID for the license group the resource belongs to, should be uuid.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of a license resource. ")</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.onap.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="licenses">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:license" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="entitlement">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Metadata for entitlement group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce",container="entitlements",uriTemplate="/entitlements/entitlement/{group-uuid}/{resource-uuid}",requiredProps="group-uuid,resource-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID for the entitlement group the resource comes from, should be uuid.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of an entitlement resource. ")</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.onap.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="entitlements">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Entitlements, keyed by group-uuid and resource-uuid, related to license management")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:entitlement" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vce">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/vces/vce/{vnf-id}",requiredProps="vnf-id,vnf-name,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED.")</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.onap.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.onap.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-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="OBSOLETE -  see child relationships")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:port-groups" minOccurs="0"/>
+        <xs:element ref="tns:licenses" minOccurs="0"/>
+        <xs:element ref="tns:entitlements" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cp">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="point of attachment from services or resources to a virtual link or network.",uniqueProps="cp-instance-id",dependentOn="vnfc",container="cps",uriTemplate="/cps/cp/{cp-instance-id}",requiredProps="cp-instance-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cp-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of the connection point.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port-id" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="port index to represent multiple CPs on VNFC connected to same network.")</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.onap.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="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cps">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of connection points.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:cp" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnfc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id",searchable="vnfc-name",container="vnfcs",namespace="network",uriTemplate="/network/vnfcs/vnfc/{vnfc-name}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnfc-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of vnfc.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nfc-naming-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Short code that is used in naming instances of the item being modeled")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nfc-function" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service")</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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Group notation of VNFC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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:cps" minOccurs="0"/>
+        <xs:element ref="tns:l3-interface-ipv4-address-list" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnfcs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="host-route">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="host-route-id",dependentOn="subnet",container="host-routes",uriTemplate="/host-routes/host-route/{host-route-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="host-route-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="host-route id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-prefix" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="subnet prefix")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="next-hop" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Could be ip-address, hostname, or service-instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="next-hop-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Should be ip-address, hostname, or service-instance to match next-hop")</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.onap.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="host-routes">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:host-route" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="subnet">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="subnet-id,subnet-name",nameProps="subnet-name",uniqueProps="subnet-id",dependentOn="l3-network",container="subnets",uriTemplate="/subnets/subnet/{subnet-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="subnet-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="the last address reserved for use by dhcp")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="subnet-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role of the subnet, referenced when assigning IPs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ip-assignment-direction" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ip address assignment direction of the subnet")</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.onap.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="subnet-sequence" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="sequence of the subnet")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:host-routes" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ctag-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="vlan-id-inner",dependentOn="l3-network",container="ctag-assignments",uriTemplate="/ctag-assignments/ctag-assignment/{vlan-id-inner}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="segmentation-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack segmentation assignment.",indexedProps="segmentation-id",dependentOn="l3-network",container="segmentation-assignments",uriTemplate="/segmentation-assignments/segmentation-assignment/{segmentation-id}",requiredProps="segmentation-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="segmentation-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="aggregate-route">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Aggregate route configs are used on the D2 IPE’s for the Voice services.  In 1902, SDNC will create aggregate-route objects and write them to A&amp;AI. ",uniqueProps="route-id",container="aggregate-routes",dependentOn="l3-network",uriTemplate="/aggregate-routes/aggregate-route/{route-id}",requiredProps="route-id,network-start-address,cidr-mask,ip-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="route-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique id of the aggregate-route instance")</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.onap.aai.annotations.Metadata(description="Name of the forwarding-path")</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.onap.aai.annotations.Metadata(description="CIDR-mask for aggregate route subnet")</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.onap.aai.annotations.Metadata(description="Identifies is aggregate route is ipv4 or ipv6")</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.onap.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="aggregate-routes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of aggregate routes.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:aggregate-route" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Generic network definition",nameProps="network-name",indexedProps="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",searchable="network-id,network-name",uniqueProps="network-id",container="l3-networks",namespace="network",uriTemplate="/network/l3-networks/l3-network/{network-id}",requiredProps="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Unique identifier of service from ASDC.  Does not strictly map to ASDC services.  SOON TO BE DEPRECATED")</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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Contrail FQDN for the network")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-shared-network" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-external-network" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-trunked" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="Trunked network indication.")</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:aggregate-routes" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-networks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:l3-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-policy">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(nameProps="network-policy-fqdn",indexedProps="network-policy-id,network-policy-fqdn",searchable="network-policy-id,network-policy-fqdn",uniqueProps="network-policy-id",container="network-policies",namespace="network",uriTemplate="/network/network-policies/network-policy/{network-policy-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-policy-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID representing unique key to this instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-policy-fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Contrail FQDN for the policy")</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.onap.aai.annotations.Metadata(description="ID for the openStack Heat 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.onap.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="network-policies">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:network-policy" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vf-module">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="a deployment unit of VNFCs",indexedProps="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",searchable="vf-module-id,vf-module-name",dependentOn="generic-vnf",container="vf-modules",uriTemplate="/vf-modules/vf-module/{vf-module-id}",requiredProps="vf-module-id,is-base-vf-module,automated-assignment")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vf-module-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of vf-module.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-module-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of vf-module")</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.onap.aai.annotations.Metadata(description="Heat stack id corresponding to this instance.")</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.onap.aai.annotations.Metadata(description="orchestration status of this vf-module, mastered by MSO")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-base-vf-module" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="automated-assignment" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="Indicates whether vf-module assignment was done via automation or manually")</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.onap.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="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="the Contrail unique ID for a service-instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="module-index" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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")</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.onap.aai.annotations.Metadata(description="Path to the controller object.")</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="vf-modules">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:vf-module" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generic-vnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,model-invariant-id,model-version-id,widget-model-id,widget-model-version,nf-type,nf-function,nf-naming-code,nf-role",searchable="vnf-id,vnf-name,vnf-name2,operational-status",uniqueProps="vnf-id",container="generic-vnfs",namespace="network",extendsFrom="vnf",containsSuggestibleProps="true",suggestionAliases="VNFs",uriTemplate="/network/generic-vnfs/generic-vnf/{vnf-id}",requiredProps="vnf-id,vnf-type,in-maint,is-closed-loop-disabled")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vnf instance id.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Unique identifier of service, does not necessarily map to ASDC service models.  SOON TO BE DEPRECATED")</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.onap.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.onap.aai.annotations.Metadata(description="Trigger for operational monitoring of this resource by Service Assurance systems.",suggestibleOnSearch="true")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.  Valid values are in-service-path and out-of-service-path.",suggestibleOnSearch="true")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.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.onap.aai.annotations.Metadata(description="Orchestration status of this VNF, used by MSO.",suggestibleOnSearch="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-package-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-discriptor-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vnf discriptor name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="job-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="job id corresponding to vnf")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="identifier of managed by ATT or 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.onap.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.onap.aai.annotations.Metadata(description="v4 Loopback0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nm-lan-v6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 Loopback address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="management-v6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 management address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcpu" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcpu-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vmemory" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of GB of memory ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vmemory-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdisk" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdisk-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only by uCPE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nshd" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of associated SHD in vnf.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nvm" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vms in vnf.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nnet" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of network in vnf.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-closed-loop-disabled" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD.")</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.onap.aai.annotations.Metadata(description="indicates whether generic-vnf access uses SSH")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="entitlement-assignment-group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the Entitlement group used for licensing VNFs, OBSOLETE -  See child relationships.")</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.onap.aai.annotations.Metadata(description="UUID of the specific entitlement resource.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="license-assignment-group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the license assignment group.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="license-key-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="UUID of the actual license resource.  OBSOLETE -  See child relationships.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="the ASDC model version for this resource or service model.",visibility="internal",dataCopy="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}#model-version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.")</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.onap.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.onap.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="as-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="as-number of the VNF")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="regional-resource-subzone" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="represents sub zone of the rr plane")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Generic description of the type of NF",suggestibleOnSearch="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-function" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English description of Network function that the specific VNF deployment is providing")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role in the network that this model will be providing",suggestibleOnSearch="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-naming-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="string assigned to this model used for naming purposes")</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.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Gateway 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.onap.aai.annotations.Metadata(description="Prefix length for oam-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.onap.aai.annotations.Metadata(description="Temporary location for S-TAG to get to VCE")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nm-profile-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Network Management profile of this VNF")</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:element ref="tns:licenses" minOccurs="0"/>
+        <xs:element ref="tns:entitlements" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generic-vnfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of VNFs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:generic-vnf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-link">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="LAG links can connect lag-interfaces",indexedProps="link-name",container="lag-links",namespace="network",uriTemplate="/network/lag-links/lag-link/{link-name}",requiredProps="link-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Alphabetical concatenation of lag-interface names")</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.onap.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="lag-links">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of link aggregation connections")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:lag-link" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="newvce">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/newvces/newvce/{vnf-id2}",requiredProps="vnf-id2,vnf-name,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.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="operational-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational")</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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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="newvces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:newvce" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="software-version">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Software Version",indexedProps="softwareVersionId,isActiveSwVer",dependentOn="pnf",container="pnf",requiredProps="software-version-id,is-active-sw-ver")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="software-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Identifier of the software version")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-active-sw-ver" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="used to indicate whether or not this software-version is the active one (activeSw = true)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="software-versions">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of software versions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:software-version" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vrf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Definition of vrf",indexedProps="vrf-id",nameProps="vrf-name",dependentOn="pnf",container="vrfs",uriTemplate="/vrfs/vrf/{vrf-id}",requiredProps="vrf-id,vrf-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vrf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="VRF UUID.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vrf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="VRF Name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vrf-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="VRF Description")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-distinguisher" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Route Distinguisher")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vrf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The type of vrf (bridge-domain as an example)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vrf-address-family" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IP address family (v6/v4/both)")</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.onap.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:route-targets" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vrfs">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vrf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE.",indexedProps="pnf-name,orchestration-status,inv-status,model-invariant-id,model-version-id,operational-status,admin-status",searchable="pnf-name",uniqueProps="pnf-name",container="pnfs",namespace="network",uriTemplate="/network/pnfs/pnf/{pnf-name}",requiredProps="pnf-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="unique name of Physical Network Function.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="name of Physical Network Function.")</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.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-name2-source" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="source of name2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="id of pnf")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-model" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</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.onap.aai.annotations.Metadata(description="identifier of managed by ATT or customer")</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.onap.aai.annotations.Metadata(description="Orchestration status of this pnf")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="sw-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="frame-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="serial-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Serial number of the device")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 OAM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI.")</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.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Nf Role is the role performed by this instance in the network.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="admin-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="admin Status of this PNF")</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.onap.aai.annotations.Metadata(description="Store the operational-status for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the model-customization-id for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The ASDC model id for this resource  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.onap.aai.annotations.Metadata(description="The ASDC model version for this resource  model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This is the IP address (IPv4) for the PNF itself. This is the IPv4 address that the PNF iself can be accessed at.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="This is the IP address (IPv6) for the PNF itself. This is the IPv6 address that the PNF iself can be accessed at.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:software-versions" 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:element ref="tns:vrfs" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pnfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="physical-link">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",searchable="link-name,circuit-id",uriTemplate="/network/physical-links/physical-link/{link-name}",requiredProps="link-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-provider-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the service Provider on this link.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-up-value" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Upstream Bandwidth value agreed with the service provider")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-up-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Units for the upstream BW value")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-down-value" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Downstream Bandwidth value agreed with the service provider")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-provider-bandwidth-down-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Units for downstream BW value")</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.onap.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="physical-links">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vig-server">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/vig-servers/vig-server/{vig-address-type}",requiredProps="vig-address-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vig-address-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ipaddress-v4-vig" type="xs:string" minOccurs="0" maxOccurs="5000">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v4 IP of the vig server")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-vig" type="xs:string" minOccurs="0" maxOccurs="5000">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 IP of the vig server")</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.onap.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="vig-servers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vig-server" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ipsec-configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}",requiredProps="ipsec-configuration-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="ipsec-configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID of this configuration")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="requested-vig-address-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="requested-encryption-strength" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="requested-dmz-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ATT can offer a shared DMZ or a DMZ specific to a customer")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="shared-dmz-network-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Network address of shared DMZ")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="requested-customer-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ike-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="can be 1 or 2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-authentication" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Contains values like md5, sha1, sha256, sha384")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-encryption" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-dh-group" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-am-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-am-password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="pre-shared key for the above group name ")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-sa-lifetime" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Lifetime for IKEv1 SA")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-authentication" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="md5, sha1, sha256, sha384")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-encryption" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ipsec-sa-lifetime" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Life time for IPSec SA")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-pfs" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="enable PFS or not")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="xauth-userid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="user ID for xAuth, sm-user,ucpeHostName,nmteHostName")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="xauth-user-password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Encrypted using the Juniper $9$ algorithm")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dpd-interval" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The time between DPD probe")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dpd-frequency" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Maximum number of DPD before claiming the tunnel is down")</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.onap.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:vig-servers" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ipsec-configurations">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ipsec-configuration" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="route-table-reference">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",uriTemplate="/network/route-table-references/route-table-reference/{route-table-reference-id}",requiredProps="route-table-reference-id,route-table-reference-fqdn")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="route-table-reference-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="route-table-reference-fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="route-table-references">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack route table references")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:route-table-reference" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="General mechanism for grouping instances",nameProps="description,instance-group-name",uniqueProps="id",searchable="id,description",indexedProps="id,type,sub-type,model-invariant-id,model-version-id",container="instance-groups",namespace="network",uriTemplate="/network/instance-groups/instance-group/{id}",requiredProps="id,instance-group-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Instance Group ID, UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="instance-group-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="role of the instance group.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.onap.aai.annotations.Metadata(description="ASDC model version uid for this resource model.",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Descriptive text to help identify the usage of this instance-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="instance-group-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Only valid value today is lower case ha for high availability")</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.onap.aai.annotations.Metadata(description="Concurrency value")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="instance-group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Instance-Group Name.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="instance-group-function" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Instance-Group Function")</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="instance-groups">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack route table references")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:instance-group" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="zone">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="A zone is a grouping of assets in a location homing to the same connections into the CBB",nameProps="zone-name",indexedProps="zone-id,design-type,zone-context",uniqueProps="zone-id",container="zones",namespace="network",uriTemplate="/network/zones/zone/{zone-id}",requiredProps="zone-id,zone-name,design-type,zone-context")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="zone-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Code assigned by AIC to the zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English name associated with the zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="design-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Design of zone [Medium/Large…]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="zone-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Context of zone [production/test]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Status of a zone.")</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.onap.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="zones">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of zones")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:zone" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vlan-mapping">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="vlan-mapping object is an optional child object of the forwarder-evc object.  A given forwarder-evc object may have multiple vlan-mapping objects.",dependentOn="forwarder-evc",uniqueProps="vlan-mapping-id",container="vlan-mappings",uriTemplate="/vlan-mappings/vlan-mapping/{vlan-mapping-id}",requiredProps="vlan-mapping-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-mapping-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Key for vlan-mapping object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="uni-cvlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CVLAN value from the UNI/ingress side of the SAREA gateway access device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nni-svlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="SVLAN value from the NNI/egress side of the SAREA gateway access device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nni-cvlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CVLAN value from the NNI/egress side of the SAREA gateway access device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ivlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The internal VLAN ('IVLAN') value.  Specific to Arista devices.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vlan-mappings">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of vlan mappings.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:vlan-mapping" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarder-evc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="forwarder object is an optional child object of the Configuration object.",dependentOn="configuration",uniqueProps="forwarder-evc-id",container="forwarder-evcs",uriTemplate="/forwarder-evcs/forwarder-evc/{forwarder-evc-id}",requiredProps="forwarder-evc-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="forwarder-evc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Key for forwarder-evc object")</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.onap.aai.annotations.Metadata(description="Circuit ID from customer/ESP/ingress end of EVC, or reference to beater circuit on gateway/network/egress end of EVC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ivlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Internal VLAN.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="svlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="SVLAN value for ingress of egress forwarder.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cvlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CVLAN value for ingress of egress forwarder.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:vlan-mappings" 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.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarder-evcs">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:forwarder-evc" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="evc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="evc object is an optional child object of the Configuration object.",dependentOn="configuration",uniqueProps="evc-id",container="evcs",uriTemplate="/evcs/evc/{evc-id}",requiredProps="evc-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="evc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique/key field for the evc object")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="forwarding-path-topology" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Point-to-Point, Multi-Point")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cir-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Commited Information Rate")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cir-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CIR units")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="connection-diversity-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Diversity Group ID")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-hours" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="formerly Performance Group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esp-evc-circuit-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="EVC Circuit ID of ESP EVC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esp-evc-cir-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Committed Information Rate (For ESP)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esp-evc-cir-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CIR units (For ESP)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esp-itu-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Identifies ESP")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collector-pop-clli" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Collector POP CLLI (from the hostname of the access pnf)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inter-connect-type-ingress" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Interconnect type on ingress side of EVC.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tagmode-access-ingress" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="tagode for collector side of EVC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tagmode-access-egress" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="tagMode for network side of EVC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <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.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="evcs">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:evc" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Generic configuration object.",indexedProps="configuration-id,model-invariant-id,model-version-id",uniqueProps="configuration-id",container="configurations",namespace="network",uriTemplate="/network/configurations/configuration/{configuration-id}",requiredProps="configuration-id,configuration-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID assigned to configuration.")</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.onap.aai.annotations.Metadata(description="Indicates the entity that will manage this feature. Could be an organization or the name of the application as well.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="port-mirroring-configuration.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-sub-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="vprobe, pprobe.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</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.onap.aai.annotations.Metadata(description="Orchestration status of the configuration.")</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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="configuration-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details from SDN-GC.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="id of  the configuration used to customize the resource")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tunnel-bandwidth" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="DHV Site Effective Bandwidth")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vendor-allowed-max-bandwidth" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Velocloud Nominal Throughput - VNT")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="config-policy-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Used to capture the name of the fabric configuration policy that was used to generate the payload sent to PINC for fabric 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.onap.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:metadata" minOccurs="0"/>
+        <xs:element ref="tns:forwarder-evcs" minOccurs="0"/>
+        <xs:element ref="tns:evcs" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="configurations">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of configurations")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:configuration" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarder">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(indexedProps="sequence",description="Entity describing a sequenced segment of forwarding path",container="forwarders",dependentOn="forwarding-path",uriTemplate="/forwarders/forwarder/{sequence}",requiredProps="sequence")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="sequence" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of this segmentation")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="forwarder-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ingress, intermediate, egress")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <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.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarders">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:forwarder" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarding-path">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(namespace="network",indexedProps="forwarding-path-id,forwarding-path-name",description="Entity that describes the sequenced forwarding path between interfaces of services or resources",container="forwarding-paths",nameProps="forwarding-path-name",uniqueProps="forwarding-path-id",uriTemplate="/network/forwarding-paths/forwarding-path/{forwarding-path-id}",requiredProps="forwarding-path-id,forwarding-path-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="forwarding-path-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of this FP")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="forwarding-path-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the FP")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <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.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="the self link for this FP")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:forwarders" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="forwarding-paths">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:forwarding-path" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="collection">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(namespace="network",description="represents the collection resource in the TOSCA model",uniqueProps="collection-id",indexedProps="collection-id,model-invariant-id,model-version-id",container="collections",uriTemplate="/network/collections/collection/{collection-id}",requiredProps="collection-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="collection-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Collection Object UUID")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.onap.aai.annotations.Metadata(description="Model Version",visibility="deployment",requires="model-invariant-id",dbAlias="model-version-id-local",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collection-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="collection name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collection-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Collection type")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collection-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Collection Role")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collection-function" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Collection function")</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.onap.aai.annotations.Metadata(description="orchestration status")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="collection-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Captures the id of all the configuration used to customize the resource for the service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <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.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="collections">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:collection" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vlan-tag">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(namespace="network",container="vlan-tags",uniqueProps="vlan-tag-id",uriTemplate="/network/vlan-tags/vlan-tag/{vlan-tag-id}")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-tag-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of the vlan-tag")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-tag-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="purpose (l3-network to be connected to)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="VLAN inner id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-outer" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="VLAN outer id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-private" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(defaultValue="false",description="is VLAN private?")</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.onap.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="vlan-tags">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vlan-tag" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="connectivity">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a connectivity",indexedProps="connectivity-id,etht-svc-name,bandwidth-profile-name,vpn-type,color-aware,coupling-flag,access-provider-id,access-client-id,access-topology-id,access-node-id,access-ltp-id,operational-status",nameProps="etht-svc-name",searchable="connectivity-id",uniqueProps="connectivity-id",container="connectivities",namespace="network",requiredProps="connectivity-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="connectivity-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this connectivity by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-profile-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the name of a bandwidth profile.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the type of a bandwidth profile.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cir" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the CIR of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="eir" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the EIR of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cbs" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the CBS of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ebs" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the EBS of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="color-aware" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the color-awareness of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="coupling-flag" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the coupling flag of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="etht-svc-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The ethernet service name for this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-provider-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access provider of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-client-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access client of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-topology-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access topology of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-node-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access node of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="access-ltp-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the access ltp of this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="connectivity-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the link to get more information for this connectivity.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cvlan" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the cvlan for this connectivity.")</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.onap.aai.annotations.Metadata(description="Store the operational-status for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the model-customization-id for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.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="connectivities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of connectivities")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:connectivity" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dhcp-service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a dhcp-service",indexedProps="dhcp-service-id,dhcp-service-type,domain-name,server-ipv4-address,server-ipv6-address",nameProps="domain-name",searchable="dhcp-service-id",uniqueProps="dhcp-service-id",container="dhcp-services",dependentOn="lan-port-config",namespace="network",requiredProps="dhcp-service-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="dhcp-service-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this dhcp-service by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="server-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the server-ip4-address of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="server-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the server-ipv6-address of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-enable" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the service-enable of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dhcp-service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the dhcp-service-type of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="lease-time" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the lease-time of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="domain-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the domain-name of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dns" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the dns of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ntp-primary" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the ntp-primary of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ntp-secondary" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the ntp-secondary of this dhcp-service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nbns" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the nbns of this dhcp-service.")</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.onap.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="dhcp-services">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of dhcp-services")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:dhcp-service" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lan-port-config">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a lan-port-config",indexedProps="lan-port-config-id,lan-port-config-name,device-id,port-id,ipv4-address,ipv6-address,vlan-tag",nameProps="lan-port-config-name",searchable="lan-port-config-id",uniqueProps="lan-port-config-id",container="lan-port-configs",namespace="network",requiredProps="lan-port-config-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="lan-port-config-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this lan-port-config by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="lan-port-config-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the name of this lan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the description of this lan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="device-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the device-id of this lan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the port-id of this lan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the ipv4-address of this lan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the ipv6-address of this lan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-tag" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the vlan-tag of this lan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="input-bandwidth" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the input-bandwidth of this lan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="output-bandwidth" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the output-bandwidth of this lan-port-config.")</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.onap.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:dhcp-services" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lan-port-configs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of lan-port-configs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:lan-port-config" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-resource">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a network-resource",indexedProps="network-id,provider-id,client-id,te-topo-id",nameProps="network-id",searchable="network-id",uniqueProps="network-id",container="network-resources",namespace="network",requiredProps="network-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this network-resource by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="provider-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the provider of this network-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="client-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the client of this network-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="te-topo-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the te-topo of this network-resource.")</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.onap.aai.annotations.Metadata(description="Store the link to get more information for this object.")</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.onap.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="network-resources">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of network-resources")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:network-resource" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-resource">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a site-resource",indexedProps="site-resource-id,site-resource-name,type,role,generated-site-id,operational-status",nameProps="site-resource-name",searchable="site-resource-id",uniqueProps="site-resource-id",container="site-resources",namespace="network",requiredProps="site-resource-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="site-resource-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this site-resource by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="site-resource-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the name of this site-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the description of this site-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the type of this site-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the role of this site-resource.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="generated-site-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the generated-site-id of this site-resource.")</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.onap.aai.annotations.Metadata(description="Store the link to get more information for this object.")</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.onap.aai.annotations.Metadata(description="Store the operational-status for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the model-customization-id for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.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="site-resources">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of site-resources")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:site-resource" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sdwan-vpn">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of an sdwan-vpn",indexedProps="sdwan-vpn-id,sdwan-vpn-name,vxlan-id,topology,operational-status",nameProps="sdwan-vpn-name",searchable="sdwan-vpn-id",uniqueProps="sdwan-vpn-id",container="sdwan-vpns",namespace="network",requiredProps="sdwan-vpn-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="sdwan-vpn-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this sdwan-vpn by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="sdwan-vpn-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the name of this sdwan-vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vxlan-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the vxlan-id of this sdwan-vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="topology" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the topology of this sdwan-vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="tenant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the tenant-id of this sdwan-vpn.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the vpn-id of this sdwan-vpn.")</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.onap.aai.annotations.Metadata(description="Store the link to get more information for this object.")</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.onap.aai.annotations.Metadata(description="Store the operational-status for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the model-customization-id for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.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="sdwan-vpns">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of sdwan-vpns")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:sdwan-vpn" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="device">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a device",indexedProps="device-id,device-name,esn,vendor,class,type,version,system-ip,system-ipv4,system-ipv6,operational-status",nameProps="device-name",searchable="device-id",uniqueProps="device-id",container="devices",namespace="network",requiredProps="device-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="device-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this device by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="esn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the esn of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="device-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the name of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the description of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the vendor of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="class" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the class of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the type of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the version of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-ip" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the system-ip of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-ipv4" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the system-ipv4 of this device.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="system-ipv6" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the system-ipv6 of this device.")</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.onap.aai.annotations.Metadata(description="Store the link to get more information for this object.")</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.onap.aai.annotations.Metadata(description="Store the operational-status for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the model-customization-id for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.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="devices">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of devices")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:device" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="wan-port-config">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Instance of a wan-port-config",indexedProps="wan-port-config-id,wan-port-config-name,device-id,ip-address,ipv4-address,ipv6-address,port-type,port-number,device-port-id,wan-port-id,operational-status",nameProps="wan-port-config-name",searchable="wan-port-config-id",uniqueProps="wan-port-config-id",container="wan-port-configs",namespace="network",requiredProps="wan-port-config-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="wan-port-config-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this wan-port-config by id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="wan-port-config-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the name of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="device-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the device of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the id of the vlan of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ip-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the ip-address of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the ipv4-address of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the ipv6-address of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="provider-ip-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the provider-ip-address of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="provider-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the provider-ipv4-address of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="provider-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the provider-ipv6-address of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="input-bandwidth" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the input-bandwidth of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="output-bandwidth" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the output-bandwidth of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the description of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the port-type of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the port-number of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="transport-network-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the transport-network-name of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="device-port-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the device-port-id of this wan-port-config.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="wan-port-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the wan-port-id of this wan-port-config.")</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.onap.aai.annotations.Metadata(description="Store the link to get more information for this object.")</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.onap.aai.annotations.Metadata(description="Store the operational-status for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Store the model-customization-id for this object.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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",privateEdge="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.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="wan-port-configs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of wan-port-configs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:wan-port-config" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ext-aai-network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Refer to an external AAI in another ONAP.",indexedProps="aai-id",searchable="aai-id",container="ext-aai-networks",namespace="network",requiredProps="aai-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="aai-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of the referenced AAI.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="schema-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Schema version of the referenced AAI.")</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.onap.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:esr-system-info" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ext-aai-networks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ext-aai-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for network inventory resources.")</annox:annotate>
+        </xs:appinfo>
+      </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: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:element ref="tns:instance-groups" minOccurs="0"/>
+        <xs:element ref="tns:zones" minOccurs="0"/>
+        <xs:element ref="tns:configurations" minOccurs="0"/>
+        <xs:element ref="tns:forwarding-paths" minOccurs="0"/>
+        <xs:element ref="tns:collections" minOccurs="0"/>
+        <xs:element ref="tns:vlan-tags" minOccurs="0"/>
+        <xs:element ref="tns:connectivities" minOccurs="0"/>
+        <xs:element ref="tns:lan-port-configs" minOccurs="0"/>
+        <xs:element ref="tns:network-resources" minOccurs="0"/>
+        <xs:element ref="tns:site-resources" minOccurs="0"/>
+        <xs:element ref="tns:sdwan-vpns" minOccurs="0"/>
+        <xs:element ref="tns:devices" minOccurs="0"/>
+        <xs:element ref="tns:wan-port-configs" minOccurs="0"/>
+        <xs:element ref="tns:ext-aai-networks" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="reserved-prop-names">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Internal map to define some reserved properties of a vertex",uniqueProps="aai-unique-key,aai-uri,aai-uuid",indexedProps="aai-unique-key,source-of-truth,aai-node-type,aai-uri,aai-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="last-mod-source-of-truth" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-created-ts" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="aai-unique-key" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-last-mod-ts" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="source-of-truth" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-uri" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="edge-prop-names">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Internal map to define the properties of an edge and interpret the map EdgeRules",edgeInfo="aaiUuid,edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV",uniqueProps="aai-uuid",indexedProps="aai-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="edgeLabel" type="xs:string" minOccurs="0"/>
+        <xs:element name="direction" type="xs:string" minOccurs="0"/>
+        <xs:element name="multiplicityRule" type="xs:string" minOccurs="0"/>
+        <xs:element name="contains-other-v" type="xs:string" minOccurs="0"/>
+        <xs:element name="delete-other-v" type="xs:string" minOccurs="0"/>
+        <xs:element name="SVC-INFRA" type="xs:string" minOccurs="0"/>
+        <xs:element name="prevent-delete" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-uuid" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="aai-internal">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:reserved-prop-names" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:edge-prop-names" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="contact">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Contacts store the vendor information and have a relationship to the generic-vnf.  In 1902, this will be populated by SDN-GC",uniqueProps="contact-name",container="contacts",namespace="common",nameProps="contact-name,vendor-type",uriTemplate="/common/contacts/contact/{contact-name}",requiredProps="contact-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="contact-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the contact")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="contact-telephone" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Tel no. of contact")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="contact-email" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="e-mail of contact")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vendor-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="NI (Network Integrator)SI (System Integrator) 3rd Party LCM")</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.onap.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="contacts">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of contacts")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:contact" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="common">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for common inventory resources.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:contacts" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="notification-event-header">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0"/>
+        <xs:element name="timestamp" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="domain" type="xs:string" minOccurs="0"/>
+        <xs:element name="sequence-number" type="xs:string" minOccurs="0"/>
+        <xs:element name="severity" type="xs:string" minOccurs="0"/>
+        <xs:element name="event-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="version" type="xs:string" minOccurs="0"/>
+        <xs:element name="action" type="xs:string" minOccurs="0"/>
+        <xs:element name="entity-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="top-entity-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="entity-link" type="xs:string" minOccurs="0"/>
+        <xs:element name="status" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="notification-event">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="cambria.partition" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:notification-event-header" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="overloaded-model">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Allows for legacy POST of old-style and new-style models",requiredProps="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-name-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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-vers" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="query-parameters">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="QueryParameters for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:named-query" minOccurs="0"/>
+        <xs:element ref="tns:overloaded-model" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-filter">
+    <xs:complexType>
+      <xs:sequence/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-filters">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="InstanceFilters for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:instance-filter" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="secondary-filt">
+    <xs:complexType>
+      <xs:sequence/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="secondary-filts">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="SecondaryFilts for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:secondary-filt" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-and-named-query-search">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:query-parameters" minOccurs="0"/>
+        <xs:element ref="tns:instance-filters" minOccurs="0"/>
+        <xs:element ref="tns:secondary-filts" minOccurs="0"/>
+        <xs:element name="top-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="secondary-filter-cut-point" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="properties">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Property holder for query properties or instance properties")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <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-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:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inventory-response-item">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Inventory item for response list",container="inventory-response-items")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-name" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:extra-properties" minOccurs="0"/>
+        <xs:element ref="tns:inventory-response-items" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inventory-response-items">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Container for inventory items in response list",container="response-list")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:inventory-response-item" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="response-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Response container for the results of a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:inventory-response-items" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Abstract vnf class",indexedProps="vnf-id",uniqueProps="vnf-id",inheritors="vce,generic-vnf",isAbstract="true",requiredProps="vnf-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:element name="inventory">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:search" minOccurs="0"/>
+        <xs:element ref="tns:actions" minOccurs="0"/>
+        <xs:element ref="tns:cloud-infrastructure" minOccurs="0"/>
+        <xs:element ref="tns:external-system" minOccurs="0"/>
+        <xs:element ref="tns:business" minOccurs="0"/>
+        <xs:element ref="tns:service-design-and-creation" minOccurs="0"/>
+        <xs:element ref="tns:network" minOccurs="0"/>
+        <xs:element ref="tns:aai-internal" minOccurs="0"/>
+        <xs:element ref="tns:common" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
diff --git a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v8.xsd b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v8.xsd
new file mode 100644 (file)
index 0000000..7365190
--- /dev/null
@@ -0,0 +1,1918 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://org.openecomp.aai.inventory/v8" xmlns:tns="http://org.openecomp.aai.inventory/v8" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+  <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="5000"/>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="5000"/>
+      </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="edge-tag-query-result">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="5000"/>
+      </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="edge-tag-query-request">
+    <xs:complexType>
+      <xs:sequence>
+        <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="5000"/>
+        <xs:element ref="tns:include-node-filter" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:secondary-filter" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="result-data">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="resource-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-link" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="search-results">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:result-data" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship-data">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="relationship-key" type="xs:string" minOccurs="0"/>
+        <xs:element name="relationship-value" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-to-property">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="property-key" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-value" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="related-to" type="xs:string" minOccurs="0"/>
+        <xs:element name="related-link" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:relationship-data" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:related-to-property" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship-list">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:relationship" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="oam-network">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="network-uuid" type="xs:string" minOccurs="0"/>
+        <xs:element name="network-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="cvlan-tag" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="ipv4-oam-gateway-address" type="xs:string" minOccurs="0"/>
+        <xs:element name="ipv4-oam-gateway-address-prefix-length" type="xs:int" minOccurs="0"/>
+        <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="oam-networks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:oam-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dvs-switch">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="switch-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="vcenter-url" type="xs:string" minOccurs="0"/>
+        <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="dvs-switches">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:dvs-switch" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="availability-zone">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="availability-zone-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="hypervisor-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="operational-state" type="xs:string" minOccurs="0"/>
+        <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="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="5000"/>
+      </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="update">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="update-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:update-node-key" minOccurs="0" maxOccurs="5000"/>
+        <xs:element name="update-node-uri" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:action" minOccurs="0" maxOccurs="5000"/>
+      </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" minOccurs="0"/>
+        <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="5000"/>
+        <xs:element name="selflink" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="actions">
+    <xs:complexType>
+      <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:sequence>
+        <xs:element name="target-pe" type="xs:string" minOccurs="0"/>
+        <xs:element name="availability-zone-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="ctag-pool-purpose" type="xs:string" minOccurs="0"/>
+        <xs:element name="ctag-values" type="xs:string" minOccurs="0"/>
+        <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="ctag-pools">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ctag-pool" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="complex">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="physical-location-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="data-center-code" type="xs:string" minOccurs="0"/>
+        <xs:element name="complex-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="identity-url" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="physical-location-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="street1" type="xs:string" minOccurs="0"/>
+        <xs:element name="street2" type="xs:string" minOccurs="0"/>
+        <xs:element name="city" type="xs:string" minOccurs="0"/>
+        <xs:element name="state" type="xs:string" minOccurs="0"/>
+        <xs:element name="postal-code" type="xs:string" minOccurs="0"/>
+        <xs:element name="country" type="xs:string" minOccurs="0"/>
+        <xs:element name="region" type="xs:string" minOccurs="0"/>
+        <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="complexes">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:complex" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume-group">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="volume-group-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="volume-group-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0"/>
+        <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="volume-groups">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:volume-group" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="volume-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="volume-selflink" type="xs:string" minOccurs="0"/>
+        <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="volumes">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:volume" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-interface-ipv4-address-list">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="l3-interface-ipv4-address" type="xs:string" minOccurs="0"/>
+        <xs:element name="l3-interface-ipv4-prefix-length" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="vlan-id-outer" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="is-floating" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="neutron-network-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="neutron-subnet-id" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-interface-ipv6-address-list">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="l3-interface-ipv6-address" type="xs:string" minOccurs="0"/>
+        <xs:element name="l3-interface-ipv6-prefix-length" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="vlan-id-outer" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="is-floating" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="neutron-network-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="neutron-subnet-id" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vlan">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="vlan-interface" type="xs:string" minOccurs="0"/>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="vlan-id-outer" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="speed-value" type="xs:string" minOccurs="0"/>
+        <xs:element name="speed-units" type="xs:string" minOccurs="0"/>
+        <xs:element name="vlan-description" type="xs:string" minOccurs="0"/>
+        <xs:element name="backdoor-connection" type="xs:string" minOccurs="0"/>
+        <xs:element name="vpn-id" 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="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vlans">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vlan" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sriov-vf">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="pci-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="vf-vlan-filter" type="xs:string" minOccurs="0"/>
+        <xs:element name="vf-mac-filter" type="xs:string" minOccurs="0"/>
+        <xs:element name="vf-vlan-strip" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="vf-vlan-anti-spoof-check" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="vf-mac-anti-spoof-check" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="vf-mirrors" type="xs:string" minOccurs="0"/>
+        <xs:element name="vf-broadcast-allow" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="vf-unknown-multicast-allow" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="vf-unknown-unicast-allow" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="vf-insert-stag" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="vf-link-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="neutron-network-id" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sriov-vfs">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:sriov-vf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l-interface">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="interface-role" type="xs:string" minOccurs="0"/>
+        <xs:element name="v6-wan-link-ip" type="xs:string" minOccurs="0"/>
+        <xs:element name="selflink" type="xs:string" minOccurs="0"/>
+        <xs:element name="interface-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="macaddr" type="xs:string" minOccurs="0"/>
+        <xs:element name="network-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="management-option" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l-interfaces">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:l-interface" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vserver">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="vserver-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="vserver-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="vserver-name2" type="xs:string" minOccurs="0"/>
+        <xs:element name="prov-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="vserver-selflink" type="xs:string" minOccurs="0"/>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="is-closed-loop-disabled" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <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:sequence>
+        <xs:element ref="tns:vserver" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tenant">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="tenant-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="tenant-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <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:sequence>
+        <xs:element ref="tns:tenant" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="flavor">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="flavor-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="flavor-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="flavor-vcpus" type="xs:int" minOccurs="0"/>
+        <xs:element name="flavor-ram" type="xs:int" minOccurs="0"/>
+        <xs:element name="flavor-disk" type="xs:int" minOccurs="0"/>
+        <xs:element name="flavor-ephemeral" type="xs:int" minOccurs="0"/>
+        <xs:element name="flavor-swap" type="xs:string" minOccurs="0"/>
+        <xs:element name="flavor-is-public" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="flavor-selflink" type="xs:string" minOccurs="0"/>
+        <xs:element name="flavor-disabled" type="xs:boolean" minOccurs="0"/>
+        <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="flavors">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:flavor" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="group-assignment">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="group-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="group-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="group-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="group-description" type="xs:string" minOccurs="0"/>
+        <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="group-assignments">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:group-assignment" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="snapshot">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="snapshot-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="snapshot-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="snapshot-architecture" type="xs:string" minOccurs="0"/>
+        <xs:element name="snapshot-os-distro" type="xs:string" minOccurs="0"/>
+        <xs:element name="snapshot-os-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="application" type="xs:string" minOccurs="0"/>
+        <xs:element name="application-vendor" type="xs:string" minOccurs="0"/>
+        <xs:element name="application-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="snapshot-selflink" type="xs:string" minOccurs="0"/>
+        <xs:element name="prev-snapshot-id" type="xs:string" minOccurs="0"/>
+        <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="snapshots">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:snapshot" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="metadatum">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="metaname" type="xs:string" minOccurs="0"/>
+        <xs:element name="metaval" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="metadata">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:metadatum" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="image">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="image-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="image-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="image-architecture" type="xs:string" minOccurs="0"/>
+        <xs:element name="image-os-distro" type="xs:string" minOccurs="0"/>
+        <xs:element name="image-os-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="application" type="xs:string" minOccurs="0"/>
+        <xs:element name="application-vendor" type="xs:string" minOccurs="0"/>
+        <xs:element name="application-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="image-selflink" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" 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="images">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:image" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="availability-zones">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:availability-zone" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-region">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="cloud-owner" type="xs:string" minOccurs="0"/>
+        <xs:element name="cloud-region-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="cloud-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="owner-defined-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="cloud-region-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="identity-url" type="xs:string" minOccurs="0"/>
+        <xs:element name="cloud-zone" type="xs:string" minOccurs="0"/>
+        <xs:element name="complex-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" 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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-profile">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="nm-profile-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="community-string" type="xs:string" minOccurs="0"/>
+        <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="network-profiles">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:network-profile" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="p-interface">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="speed-value" type="xs:string" minOccurs="0"/>
+        <xs:element name="speed-units" type="xs:string" minOccurs="0"/>
+        <xs:element name="port-description" type="xs:string" minOccurs="0"/>
+        <xs:element name="equipment-identifier" type="xs:string" minOccurs="0"/>
+        <xs:element name="interface-role" type="xs:string" minOccurs="0"/>
+        <xs:element name="interface-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" 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="p-interfaces">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:p-interface" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-interface">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="speed-value" type="xs:string" minOccurs="0"/>
+        <xs:element name="speed-units" type="xs:string" 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="lag-interfaces">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:lag-interface" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pserver">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="hostname" type="xs:string" minOccurs="0"/>
+        <xs:element name="ptnii-equip-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="number-of-cpus" type="xs:int" minOccurs="0"/>
+        <xs:element name="disk-in-gigabytes" type="xs:int" minOccurs="0"/>
+        <xs:element name="ram-in-megabytes" type="xs:int" minOccurs="0"/>
+        <xs:element name="equip-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0"/>
+        <xs:element name="equip-model" type="xs:string" minOccurs="0"/>
+        <xs:element name="fqdn" type="xs:string" minOccurs="0"/>
+        <xs:element name="pserver-selflink" type="xs:string" minOccurs="0"/>
+        <xs:element name="ipv4-oam-address" type="xs:string" minOccurs="0"/>
+        <xs:element name="serial-number" type="xs:string" minOccurs="0"/>
+        <xs:element name="pserver-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="internet-topology" type="xs:string" minOccurs="0"/>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="pserver-name2" type="xs:string" minOccurs="0"/>
+        <xs:element name="purpose" 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="pservers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:pserver" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="virtual-data-center">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="vdc-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="vdc-name" type="xs:string" minOccurs="0"/>
+        <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="virtual-data-centers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:virtual-data-center" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-infrastructure">
+    <xs:complexType>
+      <xs:sequence>
+        <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:sequence>
+        <xs:element name="resource-instance-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="persona-model-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="persona-model-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="widget-model-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="widget-model-version" type="xs:string" 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="connectors">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:connector" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-instance">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="service-instance-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="service-instance-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="persona-model-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="persona-model-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="widget-model-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="widget-model-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="bandwidth-total" type="xs:string" minOccurs="0"/>
+        <xs:element name="bandwidth-up-wan1" type="xs:string" minOccurs="0"/>
+        <xs:element name="bandwidth-down-wan1" type="xs:string" minOccurs="0"/>
+        <xs:element name="bandwidth-up-wan2" type="xs:string" minOccurs="0"/>
+        <xs:element name="bandwidth-down-wan2" type="xs:string" minOccurs="0"/>
+        <xs:element name="vhn-portal-url" type="xs:string" minOccurs="0"/>
+        <xs:element name="service-instance-location-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" 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="service-instances">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:service-instance" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-subscription">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="service-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="temp-ub-sub-account-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <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:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:service-subscription" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="customer">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="global-customer-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="subscriber-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="subscriber-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <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:sequence>
+        <xs:element ref="tns:customer" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="business">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:connectors" minOccurs="0"/>
+        <xs:element ref="tns:customers" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnf-image">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="vnf-image-uuid" type="xs:string" minOccurs="0"/>
+        <xs:element name="application" type="xs:string" minOccurs="0"/>
+        <xs:element name="application-vendor" type="xs:string" minOccurs="0"/>
+        <xs:element name="application-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="selflink" type="xs:string" minOccurs="0"/>
+        <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="vnf-images">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vnf-image" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="service-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="service-description" type="xs:string" minOccurs="0"/>
+        <xs:element name="service-selflink" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="service-version" 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:sequence>
+        <xs:element ref="tns:service" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-capability">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="service-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0"/>
+        <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="service-capabilities">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:service-capability" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="element-choice-set">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="element-choice-set-uuid" type="xs:string" minOccurs="0"/>
+        <xs:element name="element-choice-set-name" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="constrained-element-set">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="constrained-element-set-uuid" type="xs:string" minOccurs="0"/>
+        <xs:element name="constraint-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="check-type" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-constraint">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="model-constraint-uuid" type="xs:string" minOccurs="0"/>
+        <xs:element name="constrained-element-set-uuid-to-replace" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-element">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="model-element-uuid" type="xs:string" minOccurs="0"/>
+        <xs:element name="new-data-del-flag" type="xs:string" minOccurs="0"/>
+        <xs:element name="cardinality" type="xs:string" minOccurs="0"/>
+        <xs:element name="linkage-points" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:model-elements" minOccurs="0"/>
+        <xs:element ref="tns:model-constraints" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="model-name-version-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="model-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="model-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="model-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="model-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="model-description" 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:metadata" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="models">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:model" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-lookup">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="related-lookup-uuid" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-node-property" type="xs:string" minOccurs="0"/>
+        <xs:element name="target-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="target-node-property" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-collect-list" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="property-constraint">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="property-constraint-uuid" type="xs:string" minOccurs="0"/>
+        <xs:element name="constraint-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-value" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query-element">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="named-query-element-uuid" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-collect-list" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="named-query-uuid" type="xs:string" minOccurs="0"/>
+        <xs:element name="named-query-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="named-query-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="required-input-params" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="required-input-param" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+            </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-design-and-creation">
+    <xs:complexType>
+      <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:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="link-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="speed-value" type="xs:string" minOccurs="0"/>
+        <xs:element name="speed-units" type="xs:string" minOccurs="0"/>
+        <xs:element name="ip-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="routing-protocol" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="persona-model-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="persona-model-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="widget-model-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="widget-model-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="operational-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="link-role" type="xs:string" minOccurs="0"/>
+        <xs:element name="link-name2" type="xs:string" minOccurs="0"/>
+        <xs:element name="link-id" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="logical-links">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:logical-link" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="class-of-service">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="cos" type="xs:string" minOccurs="0"/>
+        <xs:element name="probe-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="probe-type" type="xs:string" minOccurs="0"/>
+        <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="classes-of-service">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:class-of-service" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="site-pair-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-ip" type="xs:string" minOccurs="0"/>
+        <xs:element name="destination-ip" type="xs:string" minOccurs="0"/>
+        <xs:element name="ip-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="destination-hostname" type="xs:string" minOccurs="0"/>
+        <xs:element name="destination-equip-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <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:sequence>
+        <xs:element ref="tns:site-pair" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="routing-instance">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="routing-instance-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="rpm-owner" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <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:sequence>
+        <xs:element ref="tns:routing-instance" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair-set">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="site-pair-set-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <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:sequence>
+        <xs:element ref="tns:site-pair-set" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpn-binding">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="vpn-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="vpn-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="global-route-target" type="xs:string" minOccurs="0"/>
+        <xs:element name="vpn-platform" type="xs:string" minOccurs="0"/>
+        <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="vpn-bindings">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vpn-binding" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpls-pe">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="equipment-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="prov-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="ipv4-oam-address" type="xs:string" minOccurs="0"/>
+        <xs:element name="equipment-role" type="xs:string" minOccurs="0"/>
+        <xs:element name="vlan-id-outer" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="resource-version" 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="vpls-pes">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vpls-pe" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="multicast-configuration">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="multicast-configuration-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="multicast-protocol" type="xs:string" minOccurs="0"/>
+        <xs:element name="rp-type" type="xs:string" minOccurs="0"/>
+        <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="multicast-configurations">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:multicast-configuration" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cvlan-tag-entry">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="cvlan-tag" type="xs:unsignedInt" minOccurs="0"/>
+        <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="cvlan-tags">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:cvlan-tag-entry" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="port-group">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="interface-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="neutron-network-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="neutron-network-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="interface-role" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="port-group-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="port-group-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="switch-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="mso-catalog-key" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vce">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="vnf-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="vnf-name2" type="xs:string" minOccurs="0"/>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="service-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="regional-resource-zone" type="xs:string" minOccurs="0"/>
+        <xs:element name="prov-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="operational-state" type="xs:string" minOccurs="0"/>
+        <xs:element name="license-key" type="xs:string" minOccurs="0"/>
+        <xs:element name="equipment-role" type="xs:string" minOccurs="0"/>
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="mso-catalog-key" type="xs:string" minOccurs="0"/>
+        <xs:element name="vpe-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="v6-vce-wan-address" type="xs:string" minOccurs="0"/>
+        <xs:element name="ipv4-oam-address" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="ipv4-loopback0-address" type="xs:string" minOccurs="0"/>
+        <xs:element name="entitlement-resource-uuid" type="xs:string" minOccurs="0"/>
+        <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:sequence>
+        <xs:element ref="tns:vce" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnfc">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="vnfc-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="vnfc-function-code" type="xs:string" minOccurs="0"/>
+        <xs:element name="vnfc-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="prov-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="ipaddress-v4-oam-vip" type="xs:string" minOccurs="0"/>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="is-closed-loop-disabled" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="group-notation" type="xs:string" minOccurs="0"/>
+        <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="vnfcs">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vnfc" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="subnet">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="subnet-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="subnet-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="neutron-subnet-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="gateway-address" type="xs:string" minOccurs="0"/>
+        <xs:element name="network-start-address" type="xs:string" minOccurs="0"/>
+        <xs:element name="cidr-mask" type="xs:string" minOccurs="0"/>
+        <xs:element name="ip-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="dhcp-enabled" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="dhcp-start" type="xs:string" minOccurs="0"/>
+        <xs:element name="dhcp-end" type="xs:string" minOccurs="0"/>
+        <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="subnets">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:subnet" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ctag-assignment">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0"/>
+        <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="ctag-assignments">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ctag-assignment" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="segmentation-assignment">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="segmentation-id" type="xs:string" minOccurs="0"/>
+        <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="segmentation-assignments">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:segmentation-assignment" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-network">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="network-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="network-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="network-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="network-role" type="xs:string" minOccurs="0"/>
+        <xs:element name="network-technology" type="xs:string" minOccurs="0"/>
+        <xs:element name="neutron-network-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="is-bound-to-vpn" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="service-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="network-role-instance" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="mso-catalog-key" type="xs:string" minOccurs="0"/>
+        <xs:element name="contrail-network-fqdn" type="xs:string" minOccurs="0"/>
+        <xs:element name="persona-model-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="persona-model-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="widget-model-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="widget-model-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="physical-network-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="is-provider-network" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="is-shared-network" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="is-external-network" type="xs:boolean" 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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-networks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:l3-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-policy">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="network-policy-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="network-policy-fqdn" type="xs:string" minOccurs="0"/>
+        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0"/>
+        <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="network-policies">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:network-policy" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vf-module">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="vf-module-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="vf-module-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="is-base-vf-module" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="persona-model-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="persona-model-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="widget-model-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="widget-model-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="contrail-service-instance-fqdn" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vf-modules">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vf-module" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generic-vnf">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="vnf-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="vnf-name2" type="xs:string" minOccurs="0"/>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="service-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="regional-resource-zone" type="xs:string" minOccurs="0"/>
+        <xs:element name="prov-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="operational-state" type="xs:string" minOccurs="0"/>
+        <xs:element name="license-key" type="xs:string" minOccurs="0"/>
+        <xs:element name="equipment-role" type="xs:string" minOccurs="0"/>
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="mso-catalog-key" type="xs:string" minOccurs="0"/>
+        <xs:element name="management-option" type="xs:string" minOccurs="0"/>
+        <xs:element name="ipv4-oam-address" type="xs:string" minOccurs="0"/>
+        <xs:element name="ipv4-loopback0-address" type="xs:string" minOccurs="0"/>
+        <xs:element name="nm-lan-v6-address" type="xs:string" minOccurs="0"/>
+        <xs:element name="management-v6-address" type="xs:string" minOccurs="0"/>
+        <xs:element name="vcpu" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="vcpu-units" type="xs:string" minOccurs="0"/>
+        <xs:element name="vmemory" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="vmemory-units" type="xs:string" minOccurs="0"/>
+        <xs:element name="vdisk" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="vdisk-units" type="xs:string" minOccurs="0"/>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="is-closed-loop-disabled" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="summary-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="encrypted-access-flag" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="persona-model-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="persona-model-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="widget-model-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="widget-model-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="as-number" type="xs:string" minOccurs="0"/>
+        <xs:element name="regional-resource-subzone" type="xs:string" minOccurs="0"/>
+        <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:sequence>
+        <xs:element ref="tns:generic-vnf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-link">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0"/>
+        <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="lag-links">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:lag-link" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="newvce">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="vnf-id2" type="xs:string" minOccurs="0"/>
+        <xs:element name="vnf-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="vnf-name2" type="xs:string" minOccurs="0"/>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="prov-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="operational-state" type="xs:string" minOccurs="0"/>
+        <xs:element name="license-key" type="xs:string" minOccurs="0"/>
+        <xs:element name="ipv4-oam-address" type="xs:string" minOccurs="0"/>
+        <xs:element name="equipment-role" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="ipv4-loopback0-address" type="xs:string" minOccurs="0"/>
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="heat-stack-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="mso-catalog-key" type="xs:string" 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="newvces">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:newvce" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pnf">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="pnf-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="pnf-name2" type="xs:string" minOccurs="0"/>
+        <xs:element name="pnf-name2-source" type="xs:string" minOccurs="0"/>
+        <xs:element name="pnf-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="equip-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0"/>
+        <xs:element name="equip-model" type="xs:string" minOccurs="0"/>
+        <xs:element name="management-option" type="xs:string" minOccurs="0"/>
+        <xs:element name="ipaddress-v4-oam" type="xs:string" minOccurs="0"/>
+        <xs:element name="sw-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="orchestration-status" type="xs:string" minOccurs="0"/>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0"/>
+        <xs:element name="frame-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" 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:sequence>
+        <xs:element ref="tns:pnf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="physical-link">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="speed-value" type="xs:string" minOccurs="0"/>
+        <xs:element name="speed-units" type="xs:string" minOccurs="0"/>
+        <xs:element name="circuit-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="dual-mode" type="xs:string" minOccurs="0"/>
+        <xs:element name="management-option" type="xs:string" minOccurs="0"/>
+        <xs:element name="service-provider-name" type="xs:string" minOccurs="0"/>
+        <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="physical-links">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:physical-link" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vig-server">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="vig-address-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="ipaddress-v4-vig" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+        <xs:element name="ipaddress-v6-vig" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+        <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="vig-servers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vig-server" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ipsec-configuration">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="ipsec-configuration-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="requested-vig-address-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="requested-encryption-strength" type="xs:string" minOccurs="0"/>
+        <xs:element name="requested-dmz-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="shared-dmz-network-address" type="xs:string" minOccurs="0"/>
+        <xs:element name="requested-customer-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="ike-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="ikev1-authentication" type="xs:string" minOccurs="0"/>
+        <xs:element name="ikev1-encryption" type="xs:string" minOccurs="0"/>
+        <xs:element name="ikev1-dh-group" type="xs:string" minOccurs="0"/>
+        <xs:element name="ikev1-am-group-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="ikev1-am-password" type="xs:string" minOccurs="0"/>
+        <xs:element name="ikev1-sa-lifetime" type="xs:string" minOccurs="0"/>
+        <xs:element name="ipsec-authentication" type="xs:string" minOccurs="0"/>
+        <xs:element name="ipsec-encryption" type="xs:string" minOccurs="0"/>
+        <xs:element name="ipsec-sa-lifetime" type="xs:string" minOccurs="0"/>
+        <xs:element name="ipsec-pfs" type="xs:string" minOccurs="0"/>
+        <xs:element name="xauth-userid" type="xs:string" minOccurs="0"/>
+        <xs:element name="xauth-user-password" type="xs:string" minOccurs="0"/>
+        <xs:element name="dpd-interval" type="xs:string" minOccurs="0"/>
+        <xs:element name="dpd-frequency" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:vig-servers" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ipsec-configurations">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ipsec-configuration" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="route-table-reference">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="route-table-reference-id" type="xs:string" minOccurs="0"/>
+        <xs:element name="route-table-reference-fqdn" type="xs:string" minOccurs="0"/>
+        <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="route-table-references">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:route-table-reference" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network">
+    <xs:complexType>
+      <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: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>
+  <xs:element name="reserved-prop-names">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="last-mod-source-of-truth" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-created-ts" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="aai-unique-key" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-last-mod-ts" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="source-of-truth" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="edge-prop-names">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="edgeLabel" type="xs:string" minOccurs="0"/>
+        <xs:element name="direction" type="xs:string" minOccurs="0"/>
+        <xs:element name="multiplicityRule" type="xs:string" minOccurs="0"/>
+        <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:boolean" minOccurs="0"/>
+        <xs:element name="SVC-INFRA-REV" type="xs:boolean" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="aai-internal">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:reserved-prop-names" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:edge-prop-names" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="notification-event-header">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0"/>
+        <xs:element name="timestamp" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="domain" type="xs:string" minOccurs="0"/>
+        <xs:element name="sequence-number" type="xs:string" minOccurs="0"/>
+        <xs:element name="severity" type="xs:string" minOccurs="0"/>
+        <xs:element name="event-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="version" type="xs:string" minOccurs="0"/>
+        <xs:element name="action" type="xs:string" minOccurs="0"/>
+        <xs:element name="entity-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="top-entity-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="entity-link" type="xs:string" minOccurs="0"/>
+        <xs:element name="status" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="notification-event">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="cambria.partition" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:notification-event-header" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="query-parameters">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:named-query" minOccurs="0"/>
+        <xs:element ref="tns:model" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-filter">
+    <xs:complexType>
+      <xs:sequence/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-filters">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:instance-filter" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-and-named-query-search">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:query-parameters" minOccurs="0"/>
+        <xs:element ref="tns:instance-filters" minOccurs="0"/>
+        <xs:element name="top-node-type" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="properties">
+    <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:complexType>
+  </xs:element>
+  <xs:element name="inventory-response-item">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="model-name" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:extra-properties" minOccurs="0"/>
+        <xs:element ref="tns:inventory-response-items" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inventory-response-items">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:inventory-response-item" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="response-list">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:inventory-response-items" minOccurs="0"/>
+      </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:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inventory">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:search" minOccurs="0"/>
+        <xs:element ref="tns:actions" minOccurs="0"/>
+        <xs:element ref="tns:cloud-infrastructure" minOccurs="0"/>
+        <xs:element ref="tns:business" minOccurs="0"/>
+        <xs:element ref="tns:service-design-and-creation" minOccurs="0"/>
+        <xs:element ref="tns:network" minOccurs="0"/>
+        <xs:element ref="tns:aai-internal" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
diff --git a/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v9.xsd b/aai-schema/src/main/resources/onap/aai_schema/aai_schema_v9.xsd
new file mode 100644 (file)
index 0000000..4c7aa6d
--- /dev/null
@@ -0,0 +1,6334 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<xs:schema elementFormDefault="qualified" version="1.0" targetNamespace="http://org.openecomp.aai.inventory/v9" xmlns:tns="http://org.openecomp.aai.inventory/v9" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+    jaxb:version="2.1"
+    xmlns:annox="http://annox.dev.java.net"
+    jaxb:extensionBindingPrefixes="annox">
+
+  <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="5000"/>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="5000"/>
+      </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="edge-tag-query-result">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:tagged-inventory-item-list" minOccurs="0" maxOccurs="5000"/>
+      </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="edge-tag-query-request">
+    <xs:complexType>
+      <xs:sequence>
+        <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="5000"/>
+        <xs:element ref="tns:include-node-filter" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:secondary-filter" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="result-data">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="The URL to the specific resource")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="resource-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="search-results">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:result-data" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship-data">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Value of the attribute.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="relationship-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="A keyword provided by A&amp;AI to indicate an attribute.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="relationship-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Value of the attribute.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-to-property">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Value part of a key/value pair")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="property-key" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Key part of a key/value pair")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="property-value" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Value part of a key/value pair")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="URL to the object in A&amp;AI.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="related-to" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="URL to the object in A&amp;AI.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:relationship-data" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:related-to-property" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="relationship-list">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:relationship" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="oam-network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="network-uuid,network-name,cvlan-tag")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="network-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the network.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cvlan-tag" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="cvlan-id")</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.onap.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="ipv4-oam-gateway-address-prefix-length" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="oam-networks">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:oam-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="dvs-switch">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="switch-name,vcenter-url")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="switch-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="DVS switch name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcenter-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL used to reach the vcenter")</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.onap.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="dvs-switches">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of digital virtual switch metadata used for vmWare VCEs and GenericVnfs.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:dvs-switch" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="availability-zone">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Availability zone, a collection of compute hosts/pservers",indexedProps="availability-zone-name",dependentOn="cloud-region",container="availability-zones",requiredProps="availability-zone-name,hypervisor-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="availability-zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="hypervisor-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="operational-state" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="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="5000"/>
+      </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="update">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Serves a PATCH like function.  Does not enforce concurrency control.  Clear each usage with AAI team.",requiredProps="update-node-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="update-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:update-node-key" minOccurs="0" maxOccurs="5000"/>
+        <xs:element name="update-node-uri" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:action" minOccurs="0" maxOccurs="5000"/>
+      </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" minOccurs="0"/>
+        <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="5000"/>
+        <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.onap.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.onap.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",requiredProps="target-pe,availability-zone-name,ctag-pool-purpose")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="target-pe" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="The Target provider edge router")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="availability-zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name of the availability zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ctag-pool-purpose" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Describes what the intended purpose of this pool is.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ctag-values" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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-pools">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ctag-pool" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="complex">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="physical-location-id,physical-location-type,street1,city,postal-code,country,region")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="physical-location-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="data-center-code" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="complex-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Gamma complex name for LCP instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="identity-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL of the keystone identity service")</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.onap.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="physical-location-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <xs:element name="street2" type="xs:string" minOccurs="0"/>
+        <xs:element name="city" type="xs:string" minOccurs="0"/>
+        <xs:element name="state" type="xs:string" minOccurs="0"/>
+        <xs:element name="postal-code" type="xs:string" minOccurs="0"/>
+        <xs:element name="country" type="xs:string" minOccurs="0"/>
+        <xs:element name="region" type="xs:string" minOccurs="0"/>
+        <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="complexes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of physical locations that can house cloud-regions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:complex" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Persistent block-level storage.",indexedProps="volume-group-name,vnf-type,heat-stack-id,volume-group-id",searchable="volume-group-id,volume-group-name",dependentOn="cloud-region",container="volume-groups",requiredProps="volume-group-id,volume-group-name,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="volume-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of volume-group.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="volume-group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the volume group.")</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.onap.aai.annotations.Metadata(description="Heat stack id corresponding to this volume-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Orchestration status of this volume-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="persona-model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.",dbAlias="model-customization-id")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-module-persona-model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="helps relate the volume group to the vf-module whose components will require the volume group",dbAlias="vf-module-model-customization-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.onap.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="volume-groups">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="volume">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Ephemeral Block storage volume.",indexedProps="volume-id",dependentOn="vserver",container="volumes",requiredProps="volume-id,volume-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="volume-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="volume-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="volumes">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of ephemeral Block storage volumes.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:volume" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-interface-ipv4-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="l3-interface-ipv4-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="l3-interface-ipv4-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="l3-interface-ipv4-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 32 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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-interface-ipv6-address-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="l3-interface-ipv6-address")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="l3-interface-ipv6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="IP address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="l3-interface-ipv6-prefix-length" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prefix length, 128 for single address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicator of fixed or floating address")</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.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Neutron id of subnet that address belongs to")</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="vlan">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Definition of vlan",indexedProps="vlan-interface,vlan-id-inner,vpn-id",uniqueProps="vpn-id",dependentOn="l-interface",container="vlans",requiredProps="vlan-interface")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vlan-interface" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="String that identifies the interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-id-inner" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Inner VLAN tag")</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.onap.aai.annotations.Metadata(description="Outer VLAN tag")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vlan-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Used to describe (the service associated with) the vlan")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="backdoor-connection" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vpn-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="orchestration-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Status of a vnf's vlan interface, on which the customer circuit resides, mastered by SDN-C.")</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="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vlans">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vlan" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="sriov-vf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="pci-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pci-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-vlan-filter" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-mac-filter" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vf-vlan-strip" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="neutron-network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="sriov-vfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of SR-IOV Virtual Functions.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:sriov-vf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Logical interfaces, e.g., a vnic.",indexedProps="macaddr,interface-id,interface-name,network-name",dependentOn="generic-vnf,newvce,p-interface,vserver,lag-interface",container="l-interfaces",requiredProps="interface-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="E.g., CUSTOMER, UPLINK, etc.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="v6-wan-link-ip" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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>
+        <xs:element name="interface-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Human friendly text regarding this 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.onap.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: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="5000"/>
+        <xs:element ref="tns:l3-interface-ipv6-address-list" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l-interfaces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vserver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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-id,vserver-name,vserver-name2",dependentOn="tenant",container="vservers",requiredProps="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vserver-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vserver-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of vserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vserver-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Alternative name of vserver")</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.onap.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="vserver-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-closed-loop-disabled" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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: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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tenant">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack tenant",nameProps="tenant-name",indexedProps="tenant-name,tenant-id",searchable="tenant-id,tenant-name",dependentOn="cloud-region",container="tenants",requiredProps="tenant-id,tenant-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="tenant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Readable name of tenant")</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.onap.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: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.onap.aai.annotations.Metadata(description="Collection of openstack tenants.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:tenant" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="flavor">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack flavor.",nameProps="flavor-name",indexedProps="flavor-name,flavor-id",dependentOn="cloud-region",container="flavors",requiredProps="flavor-id,flavor-name,flavor-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="flavor-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="flavor-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Flavor name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-vcpus" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Number of CPUs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-ram" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Amount of memory")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-disk" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Disk space")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-ephemeral" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Amount of ephemeral disk space")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-swap" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="amount of swap space allocation")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="flavor-is-public" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="flavor-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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>
+              <annox:annotate target="field">@org.onap.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="flavors">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack flavors.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:flavor" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="group-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="group-id,group-type,group-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="group-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="group-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Group description - description of the group")</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.onap.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="group-assignments">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack group assignments")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:group-assignment" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="snapshot">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="snapshot-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="snapshot-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="snapshot-os-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="This field contains the UUID of the previous snapshot (if any).")</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.onap.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="snapshots">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack snapshots")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:snapshot" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="metadatum">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Key/value pairs",indexedProps="metaname",dependentOn="tenant,image,service-instance,connector,model",container="metadata",requiredProps="metaname,metaval")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="metaname" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true)</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="metaval" type="xs:string" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="metadata">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="image">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack image.",nameProps="image-name",indexedProps="application,image-name,application-vendor,image-id,application-version",dependentOn="cloud-region",container="images",requiredProps="image-id,image-name,image-os-distro,image-os-version,image-selflink")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="image-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="image-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Image name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-architecture" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Operating system architecture.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-os-distro" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="image-os-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The operating system version as specified by the distributor.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="The version of the application.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="image-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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:metadata" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="images">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collectio of Openstack images.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:image" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="availability-zones">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of availability zones")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:availability-zone" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-region">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="cloud-region designates an installation of a cloud cluster or region or instantiation.",indexedProps="cloud-owner,cloud-region-id,cloud-type,owner-defined-type",nameProps="owner-defined-type",container="cloud-regions",namespace="cloud-infrastructure",requiredProps="cloud-owner,cloud-region-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="cloud-owner" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="cloud-region-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="cloud-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Type of the cloud (e.g., openstack)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="owner-defined-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Cloud-owner defined type indicator (e.g., dcp, lcp)")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-region-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Software version employed at the site.  NOTE - THIS FIELD IS NOT KEPT UP TO DATE.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="identity-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL of the keystone identity service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="cloud-zone" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Zone where the cloud is homed.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="complex-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="complex name for cloud-region instance.  NOTE - THIS FIELD IS NOT CORRECTLY POPULATED.")</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.onap.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: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:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(maximumDepth="0")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:cloud-region" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-profile">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Network profile populated by SDN-GP for SNMP",indexedProps="nm-profile-name",container="network-profiles",namespace="cloud-infrastructure",requiredProps="nm-profile-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="nm-profile-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique name of network profile.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="community-string" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Encrypted SNMP community string")</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.onap.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="network-profiles">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="p-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Physical interface (e.g., nic)",indexedProps="interface-name,prov-status",nameProps="prov-status",dependentOn="vpls-pe,pserver,pnf",container="p-interfaces",requiredProps="interface-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name that identifies the physical interface")</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.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="port-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Nature of the services and connectivity on this port.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equipment-identifier" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CLEI or other specification for p-interface hardware.")</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.onap.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.onap.aai.annotations.Metadata(description="Indicates the physical properties of the interface.")</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.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="p-interfaces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-interface">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Link aggregate interface",indexedProps="interface-name,interface-id,interface-role",dependentOn="generic-vnf,pserver,vpls-pe,pnf",container="lag-interfaces",requiredProps="interface-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Name that identifies the link aggregate interface")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="interface-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Human friendly text regarding this 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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Captures the units corresponding to the speed")</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.onap.aai.annotations.Metadata(description="ID of 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.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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 ref="tns:relationship-list" minOccurs="0"/>
+        <xs:element ref="tns:l-interfaces" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-interfaces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of link aggregate interfaces.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:lag-interface" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pserver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,inv-status",searchable="hostname,pserver-name2,pserver-id,ipv4-oam-address",container="pservers",namespace="cloud-infrastructure",requiredProps="hostname,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="hostname" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ptnii-equip-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="PTNII name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="number-of-cpus" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Number of cpus")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="disk-in-gigabytes" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Disk size, in GBs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ram-in-megabytes" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="RAM size, in MBs")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-model" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Fully-qualified domain name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pserver-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL to endpoint where AAI can get more details")</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.onap.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="serial-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Serial number, may be queried")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 OAM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pserver-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="ID of Pserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="internet-topology" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="internet topology of Pserver")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="purpose of pserver")</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.onap.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]")</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="pservers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of compute hosts.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:pserver" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="virtual-data-center">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="vdc-id,vdc-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vdc-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of the vdc")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdc-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the virtual data center")</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.onap.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="virtual-data-centers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:virtual-data-center" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cloud-infrastructure">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for cloud infrastructure.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <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.onap.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",requiredProps="resource-instance-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="resource-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique id of resource 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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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="connectors">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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 ref="tns:connector" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="tunnel-xconnect">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents the specifics of a tunnel cross connect piece of a resource that gets separately allotted",uniqueProps="id",indexedProps="id",dependentOn="allotted-resource",container="tunnel-xconnects",requiredProps="id,bandwidth-up-wan1,bandwidth-down-wan1,bandwidth-up-wan2,bandwidth-down-wan2")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Allotted Resource id UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-up-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN uplink bandwidth for WAN1")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-down-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN downlink bandwidth for WAN1")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-up-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN uplink bandwidth for WAN2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-down-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The WAN downlink bandwidth for WAN2")</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.onap.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="tunnel-xconnects">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="This object is used to store the specific tunnel cross connect aspects of an allotted resource")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:tunnel-xconnect" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="allotted-resource">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Represents a slice or partial piece of a resource that gets separately allotted",nameProps="description",uniqueProps="id",indexedProps="id,persona-model-id,persona-model-version",dependentOn="service-instance",container="allotted-resources",requiredProps="id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Allotted Resource id UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The descriptive information assigned to this allotted resource instance")</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.onap.aai.annotations.Metadata(description="Link back to more information in the controller")</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.onap.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.onap.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.onap.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="persona-model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.",dbAlias="model-customization-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.onap.aai.annotations.Metadata(description="Concurrency value")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:tunnel-xconnects" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="allotted-resources">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="This object is used to store slices of services being offered")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:allotted-resource" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-instance">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,orchestration-status",nameProps="service-instance-name",searchable="service-instance-id,service-instance-name",uniqueProps="service-instance-id",dependentOn="service-subscription",container="service-instances",requiredProps="service-instance-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-instance-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Uniquely identifies this instance of a service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-instance-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="persona-model-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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="bandwidth-total" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Indicates the total bandwidth to be used for this service.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="bandwidth-up-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="bandwidth-down-wan1" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="bandwidth-up-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="bandwidth-down-wan2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vhn-portal-url" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="URL customers will use to access the vHN Portal.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-instance-location-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Path to the controller object.")</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.onap.aai.annotations.Metadata(description="Orchestration status of this service.")</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:allotted-resources" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-instances">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of service instances")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:service-instance" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-subscription">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Object that group service instances.",indexedProps="service-type",dependentOn="customer",container="service-subscriptions",crossEntityReference="service-instance,service-type",requiredProps="service-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="temp-ub-sub-account-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-subscriptions">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of objects that group service instances.")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:service-subscription" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="customer">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="global-customer-id,subscriber-name",uniqueProps="global-customer-id",container="customers",namespace="business",requiredProps="global-customer-id,subscriber-name,subscriber-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="global-customer-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="subscriber-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="customers">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="business">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for business related constructs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:connectors" minOccurs="0"/>
+        <xs:element ref="tns:customers" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnf-image">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="vnf-image-uuid,application,application-vendor")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-image-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of this asset")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="application" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="vnf-images">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:vnf-image" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Stand-in for service model definitions.  Likely to be deprecated in favor of models from ASDC.  Does not strictly map to ASDC services.",indexedProps="service-description,service-id",container="services",namespace="service-design-and-creation",requiredProps="service-id,service-description")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="service-description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Description of the service")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="service-selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="service version")</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="services">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-capability">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="service-type,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="service-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="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.")</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.onap.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="service-capabilities">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="element-choice-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="element-choice-set-uuid,element-choice-set-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="element-choice-set-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="constrained-element-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="constrained-element-set-uuid,constraint-type,check-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="constrained-element-set-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="constraint-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="check-type" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-constraint">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="model-constraint-uuid,constrained-element-set-uuid-to-replace")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-constraint-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0"/>
+        <xs:element ref="tns:constrained-element-sets" minOccurs="0"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-constraints">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:model-constraint" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-element">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="model-element-uuid,new-data-del-flag,cardinality")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-element-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+        <xs:element name="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-ver">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe a specific version of an inventory asset and its connections related to ASDC models",nameProps="model-name",indexedProps="model-version-id,model-name,model-version",uniqueProps="model-version-id",container="model-vers",requiredProps="model-version-id,model-name,model-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="model-vers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:model-ver" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Subgraph definition provided by ASDC to describe an inventory asset and its connections related to ASDC models, independent of version",nameProps="model-type",indexedProps="model-invariant-id,model-type",uniqueProps="model-invariant-id",container="models",namespace="service-design-and-creation",requiredProps="model-invariant-id,model-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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-vers" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="related-lookup">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="related-lookup-uuid",indexedProps="related-lookup-uuid",allowDirectRead="true",allowDirectWrite="false",container="related-lookups",requiredProps="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="related-lookup-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="source-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-node-property" type="xs:string" minOccurs="0"/>
+        <xs:element name="target-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="target-node-property" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-collect-list" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="property-constraint">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="property-constraint-uuid",indexedProps="property-constraint-uuid",allowDirectRead="true",allowDirectWrite="false",container="property-constraints",requiredProps="property-constraint-uuid,constraint-type,property-name,property-value")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="property-constraint-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,autoGenerateUuid="true")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="constraint-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="property-value" type="xs:string" minOccurs="0"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query-element">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="TBD",uniqueProps="named-query-element-uuid",indexedProps="named-query-element-uuid",allowDirectRead="true",allowDirectWrite="false",container="named-query-elements",requiredProps="named-query-element-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="named-query-element-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="5000"/>
+        <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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="named-query">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="named-query-uuid,named-query-name,named-query-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="named-query-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true)</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="named-query-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="named-query-version" type="xs:string" minOccurs="0"/>
+        <xs:element name="required-input-params" minOccurs="0">
+          <xs:complexType>
+            <xs:sequence>
+              <xs:element name="required-input-param" type="xs:string" minOccurs="0" maxOccurs="5000"/>
+            </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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="service-design-and-creation">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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.onap.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,prov-status,circuit-id,purpose",uniqueProps="link-id",container="logical-links",namespace="network",searchable="link-name",requiredProps="link-name,link-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Indication of operational status of the logical link.")</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.onap.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="link-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="UUID of the logical-link, SDNC generates this.")</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.onap.aai.annotations.Metadata(description="Circuit id")</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.onap.aai.annotations.Metadata(description="Reason for this entity, role it is playing")</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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="class-of-service">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="routing-instance">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="site-pair-set">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="site-pair-set-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="site-pair-set-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpn-binding">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="VPN binding",nameProps="vpn-name,vpn-type",indexedProps="vpn-name,vpn-id,global-route-target,vpn-type",searchable="vpn-id,vpn-name",uniqueProps="vpn-id",container="vpn-bindings",namespace="network",requiredProps="vpn-id,vpn-name,global-route-target,route-target-role")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vpn-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="VPN Name")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="global-route-target" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Number used to identify a VPN, globally unique in the network",dataLink="./route-targets/route-target/{global-route-target}/{route-target-role}")</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.onap.aai.annotations.Metadata(description="the platform associated with the VPN example AVPN, Mobility")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vpn-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Type of the vpn, should be taken from enumerated/valid values")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-distinguisher" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Used to distinguish the distinct VPN routes of separate customers who connect to the provider in an MPLS network.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="route-target-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Role assigned to this route target",dataLink="./route-targets/route-target/{global-route-target}/{route-target-role}",defaultValue="BOTH")</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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vpls-pe">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="VPLS Provider Edge routers.",indexedProps="prov-status,equipment-name",container="vpls-pes",namespace="network",requiredProps="equipment-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="equipment-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, 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.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="multicast-configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="protocol of multicast configuration")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="rp-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="cvlan-tag-entry">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="port-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="interface-id,orchestration-status")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="interface-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="license">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Metadata for license group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce",container="licenses",requiredProps="group-uuid,resource-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID for the license group the resource belongs to, should be uuid.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of a license resource. ")</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.onap.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="licenses">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Licenses to be allocated across resources, keyed by group-uuid and resource-uuid, related to license management")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:license" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="entitlement">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Metadata for entitlement group.",indexedProps="group-uuid,resource-uuid",dependentOn="generic-vnf,vce",container="entitlements",requiredProps="group-uuid,resource-uuid")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="group-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID for the entitlement group the resource comes from, should be uuid.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="resource-uuid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of an entitlement resource. ")</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.onap.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="entitlements">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Entitlements, keyed by group-uuid and resource-uuid, related to license management")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:entitlement" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vce">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="vnf-id,vnf-name,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Unique identifier of service, does not strictly map to ASDC services, SOON TO BE DEPRECATED.")</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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="OBSOLETE -  see child relationships")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element ref="tns:port-groups" minOccurs="0"/>
+        <xs:element ref="tns:licenses" minOccurs="0"/>
+        <xs:element ref="tns:entitlements" 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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vnfc">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",searchable="vnfc-name",container="vnfcs",namespace="network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnfc-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="function code",dbAlias="nfc-naming-code")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnfc-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="type",dbAlias="nfc-function")</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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="subnet">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ctag-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="segmentation-assignment">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Openstack segmentation assignment.",indexedProps="segmentation-id",dependentOn="l3-network",container="segmentation-assignments",requiredProps="segmentation-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="segmentation-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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,network-role",searchable="network-id,network-name",uniqueProps="network-id",container="l3-networks",namespace="network",requiredProps="network-id,network-name,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-network")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="network-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Unique identifier of service from ASDC.  Does not strictly map to ASDC services.  SOON TO BE DEPRECATED")</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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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.onap.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="persona-model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.",dbAlias="model-customization-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.onap.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.onap.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.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-shared-network" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-external-network" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="selflink" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Path to the controller object.")</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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="l3-networks">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:l3-network" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network-policy">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(nameProps="network-policy-fqdn",indexedProps="network-policy-id,network-policy-fqdn",searchable="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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID representing unique key to this instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="network-policy-fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Contrail FQDN for the policy")</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.onap.aai.annotations.Metadata(description="ID for the openStack Heat 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.onap.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="network-policies">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:network-policy" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vf-module">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",searchable="vf-module-id,vf-module-name",dependentOn="generic-vnf",container="vf-modules",requiredProps="vf-module-id,is-base-vf-module")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vf-module-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique ID of vf-module.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vf-module-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of vf-module")</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.onap.aai.annotations.Metadata(description="Heat stack id corresponding to this instance.")</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.onap.aai.annotations.Metadata(description="orchestration status of this vf-module, mastered by MSO")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="is-base-vf-module" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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="persona-model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.",dbAlias="model-customization-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.onap.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.onap.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.onap.aai.annotations.Metadata(description="the Contrail unique ID for a service-instance")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="module-index" type="xs:int" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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")</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.onap.aai.annotations.Metadata(description="Path to the controller object.")</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="vf-modules">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:vf-module" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generic-vnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="vnf-id,vnf-name,vnf-type,in-maint,is-closed-loop-disabled")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.aai.annotations.Metadata(description="Unique identifier of service, does not necessarily map to ASDC service models.  SOON TO BE DEPRECATED")</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.onap.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.onap.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.onap.aai.annotations.Metadata(description="Indicator for whether the resource is considered operational.  Valid values are in-service-path and out-of-service-path.",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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.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.onap.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.onap.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.onap.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.onap.aai.annotations.Metadata(description="identifier of managed by company or 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.onap.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.onap.aai.annotations.Metadata(description="v4 Loopback0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nm-lan-v6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 Loopback address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="management-v6-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 management address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcpu" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vcpus ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vcpu-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vcpu, used for VNFs with no vservers/flavors, to be used only in some usecases")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vmemory" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vmemory-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vmemory, used for VNFs with no vservers/flavors, to be used only in some usecases")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdisk" type="xs:unsignedInt" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="number of vdisks ordered for this instance of VNF, used for VNFs with no vservers/flavors, to be used only in some usecases")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vdisk-units" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="units associated with vdisk, used for VNFs with no vservers/flavors, to be used only in some usecases")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="is-closed-loop-disabled" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="resource-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="details regarding the generic-vnf operation, PLEASE DISCONTINUE USE OF THIS FIELD.")</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.onap.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.onap.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.onap.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.onap.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="persona-model-customization-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="captures the id of all the configuration used to customize the resource for the service.",dbAlias="model-customization-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.onap.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.onap.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="as-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="as-number of the VNF")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="regional-resource-subzone" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="represents sub zone of the rr plane")</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.onap.aai.annotations.Metadata(description="Path to the controller object.")</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:element ref="tns:licenses" minOccurs="0"/>
+        <xs:element ref="tns:entitlements" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="generic-vnfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of VNFs")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:generic-vnf" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="lag-link">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="LAG links can connect lag-interfaces",indexedProps="link-name",container="lag-links",namespace="network",requiredProps="link-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Alphabetical concatenation of lag-interface names")</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.onap.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="lag-links">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of link aggregation connections")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:lag-link" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="newvce">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="vnf-id2,vnf-name,vnf-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="vnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="Alternate name of VNF.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="vnf-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="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.")</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.onap.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="operational-state" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.aai.annotations.Metadata(description="OBSOLETE -  do not use")</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.onap.aai.annotations.Metadata(description="Address tail-f uses to configure generic-vnf, 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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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.onap.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="newvces">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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:newvce" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="pnf">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="PNF represents a physical network function. typically equipment used in the D1 world.",indexedProps="pnf-name,orchestration-status,inv-status",searchable="pnf-name",uniqueProps="pnf-name",container="pnfs",namespace="network",requiredProps="pnf-name,in-maint")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="pnf-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="unique name of Physical Network Function.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-name2" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="name of Physical Network Function.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-name2-source" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="source of name2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="pnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="id of pnf")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment type.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-vendor" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment vendor.  Source of truth should define valid values.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="equip-model" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Equipment model.  Source of truth should define valid values.")</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.onap.aai.annotations.Metadata(description="identifier of managed by company or customer")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="sw-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="in-maint" type="xs:boolean" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="frame-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="serial-number" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Serial number of the device")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-loopback-0" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 Loopback 0 address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v4-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV4 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-aim" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 AIM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-oam" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="IPV6 OAM address")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="inv-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="CANOPI's inventory status.  Only set with values exactly as defined by CANOPI.")</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.onap.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="prov-status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Prov Status of this device (not under canopi control) Valid values [PREPROV/NVTPROV/PROV]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="nf-role" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Nf Role is the role performed by this instance in the network.")</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="pnfs">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="physical-link">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",searchable="link-name,circuit-id",requiredProps="link-name")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="link-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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.onap.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:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="service-provider-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Name of the service Provider on this link.")</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.onap.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="physical-links">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="vig-server">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="vig-address-type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vig-address-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ipaddress-v4-vig" type="xs:string" minOccurs="0" maxOccurs="5000">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v4 IP of the vig server")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipaddress-v6-vig" type="xs:string" minOccurs="0" maxOccurs="5000">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="v6 IP of the vig server")</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.onap.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="vig-servers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:vig-server" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ipsec-configuration">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="ipsec-configuration-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="ipsec-configuration-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="UUID of this configuration")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="requested-vig-address-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="requested-encryption-strength" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="requested-dmz-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="shared-dmz-network-address" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Network address of shared DMZ")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="requested-customer-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ike-version" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="can be 1 or 2")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-authentication" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Contains values like md5, sha1, sha256, sha384")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-encryption" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-dh-group" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-am-group-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ikev1-am-password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="pre-shared key for the above group name ")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ikev1-sa-lifetime" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Lifetime for IKEv1 SA")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-authentication" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="md5, sha1, sha256, sha384")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-encryption" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="ipsec-sa-lifetime" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Life time for IPSec SA")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="ipsec-pfs" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="enable PFS or not")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="xauth-userid" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="user ID for xAuth, sm-user, ,nmteHostName")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="xauth-user-password" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Encrypted using the Juniper $9$ algorithm")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dpd-interval" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="The time between DPD probe")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="dpd-frequency" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Maximum number of DPD before claiming the tunnel is down")</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.onap.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:vig-servers" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ipsec-configurations">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:ipsec-configuration" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="route-table-reference">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.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",requiredProps="route-table-reference-id,route-table-reference-fqdn")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="route-table-reference-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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="route-table-reference-fqdn" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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="route-table-references">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack route table references")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:route-table-reference" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-group">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="General mechanism for grouping instances",nameProps="description",uniqueProps="id",indexedProps="id,description,type,sub-type",container="instance-groups",namespace="network",requiredProps="id,description,type")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Instance Group ID, UUID assigned to this instance.")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="description" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Descriptive text to help identify the usage of this instance-group")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Only valid value today is lower case ha for high availability")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="sub-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Valid values for ha type are [geo-activeactive, geo-activestandby, local-activeactive, local-activestandby]")</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.onap.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="instance-groups">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of openstack route table references")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:instance-group" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="zone">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="A zone is a grouping of assets in a location homing to the same connections into the CBB",nameProps="zone-name",indexedProps="zone-id,design-type,zone-context",uniqueProps="zone-id",container="zones",namespace="network",requiredProps="zone-id,zone-name,design-type,zone-context")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="zone-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Code assigned by AIC to the zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="zone-name" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="English name associated with the zone")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="design-type" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Design of zone [Medium/Large?]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="zone-context" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Context of zone [production/test]")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="status" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(description="Status of a zone.")</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.onap.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="zones">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Collection of zones")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:zone" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="network">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Namespace for network inventory resources.")</annox:annotate>
+        </xs:appinfo>
+      </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: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:element ref="tns:instance-groups" minOccurs="0"/>
+        <xs:element ref="tns:zones" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="reserved-prop-names">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Internal map to define some reserved properties of a vertex",uniqueProps="aai-unique-key",indexedProps="aai-unique-key,source-of-truth,aai-node-type,aai-uri")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="last-mod-source-of-truth" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-created-ts" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="aai-unique-key" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-last-mod-ts" type="xs:unsignedInt" minOccurs="0"/>
+        <xs:element name="source-of-truth" type="xs:string" minOccurs="0"/>
+        <xs:element name="aai-uri" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="edge-prop-names">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Internal map to define the properties of an edge and interpret the map EdgeRules",edgeInfo="edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="edgeLabel" type="xs:string" minOccurs="0"/>
+        <xs:element name="direction" type="xs:string" minOccurs="0"/>
+        <xs:element name="multiplicityRule" type="xs:string" minOccurs="0"/>
+        <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:boolean" minOccurs="0"/>
+        <xs:element name="SVC-INFRA-REV" type="xs:boolean" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="aai-internal">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:reserved-prop-names" minOccurs="0" maxOccurs="5000"/>
+        <xs:element ref="tns:edge-prop-names" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="notification-event-header">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="id" type="xs:string" minOccurs="0"/>
+        <xs:element name="timestamp" type="xs:string" minOccurs="0"/>
+        <xs:element name="source-name" type="xs:string" minOccurs="0"/>
+        <xs:element name="domain" type="xs:string" minOccurs="0"/>
+        <xs:element name="sequence-number" type="xs:string" minOccurs="0"/>
+        <xs:element name="severity" type="xs:string" minOccurs="0"/>
+        <xs:element name="event-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="version" type="xs:string" minOccurs="0"/>
+        <xs:element name="action" type="xs:string" minOccurs="0"/>
+        <xs:element name="entity-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="top-entity-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="entity-link" type="xs:string" minOccurs="0"/>
+        <xs:element name="status" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="notification-event">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="cambria.partition" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:notification-event-header" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="overloaded-model">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Allows for legacy POST of old-style and new-style models",requiredProps="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-invariant-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.aai.annotations.Metadata(isKey=true,description="Unique identifier corresponding to the main definition of a model in ASDC")</annox:annotate>
+            </xs:appinfo>
+          </xs:annotation>
+        </xs:element>
+        <xs:element name="model-name-version-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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.onap.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.onap.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-vers" minOccurs="0"/>
+        <xs:element ref="tns:relationship-list" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="query-parameters">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="QueryParameters for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:named-query" minOccurs="0"/>
+        <xs:element ref="tns:overloaded-model" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-filter">
+    <xs:complexType>
+      <xs:sequence/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="instance-filters">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="InstanceFilters for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:instance-filter" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="secondary-filt">
+    <xs:complexType>
+      <xs:sequence/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="secondary-filts">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="SecondaryFilts for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:secondary-filt" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="model-and-named-query-search">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="ModelAndNamedQuerySearch holds query-parameters and instance-properties for performing a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:query-parameters" minOccurs="0"/>
+        <xs:element ref="tns:instance-filters" minOccurs="0"/>
+        <xs:element ref="tns:secondary-filts" minOccurs="0"/>
+        <xs:element name="top-node-type" type="xs:string" minOccurs="0"/>
+        <xs:element name="secondary-filter-cut-point" type="xs:string" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="properties">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Property holder for query properties or instance properties")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <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:complexType>
+  </xs:element>
+  <xs:element name="inventory-response-item">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Inventory item for response list",container="inventory-response-items")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="model-name" type="xs:string" minOccurs="0"/>
+        <xs:element ref="tns:extra-properties" minOccurs="0"/>
+        <xs:element ref="tns:inventory-response-items" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="inventory-response-items">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Container for inventory items in response list",container="response-list")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:inventory-response-item" minOccurs="0" maxOccurs="5000"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="response-list">
+    <xs:complexType>
+      <xs:annotation>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Response container for the results of a named-query or model query")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element ref="tns:inventory-response-items" minOccurs="0"/>
+      </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>
+        <xs:appinfo>
+          <annox:annotate target="class">@org.onap.aai.annotations.Metadata(description="Abstract vnf class",indexedProps="vnf-id",uniqueProps="vnf-id",inheritors="vce,generic-vnf",isAbstract="true",requiredProps="vnf-id")</annox:annotate>
+        </xs:appinfo>
+      </xs:annotation>
+      <xs:sequence>
+        <xs:element name="vnf-id" type="xs:string" minOccurs="0">
+          <xs:annotation>
+            <xs:appinfo>
+              <annox:annotate target="field">@org.onap.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:element name="inventory">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tns:search" minOccurs="0"/>
+        <xs:element ref="tns:actions" minOccurs="0"/>
+        <xs:element ref="tns:cloud-infrastructure" minOccurs="0"/>
+        <xs:element ref="tns:business" minOccurs="0"/>
+        <xs:element ref="tns:service-design-and-creation" minOccurs="0"/>
+        <xs:element ref="tns:network" minOccurs="0"/>
+        <xs:element ref="tns:aai-internal" minOccurs="0"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v10/DbEdgeRules_v10.json b/aai-schema/src/main/resources/onap/dbedgerules/v10/DbEdgeRules_v10.json
new file mode 100644 (file)
index 0000000..1f74945
--- /dev/null
@@ -0,0 +1,1808 @@
+{
+       "rules": [
+               {
+                       "from": "allotted-resource",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "network-policy",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "tunnel-xconnect",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "service-capability",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "dvs-switch",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "flavor",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "group-assignment",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "image",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "oam-network",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "snapshot",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "tenant",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "volume-group",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "complex",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "ctag-pool",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "connector",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "metadatum",
+                       "to": "connector",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "element-choice-set",
+                       "to": "constrained-element-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "ctag-pool",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "service-subscription",
+                       "to": "customer",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "dvs-switch",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "model-element",
+                       "to": "element-choice-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "entitlement",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "ipsec-configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vnfc",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vnf-image",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "license",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "network-profile",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "site-pair-set",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "group-assignment",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "tenant",
+                       "to": "group-assignment",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "metadatum",
+                       "to": "image",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "instance-group",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.Targets",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vig-server",
+                       "to": "ipsec-configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "ctag-assignment",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-network",
+                       "to": "network-policy",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-network",
+                       "to": "route-table-reference",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-network",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "segmentation-assignment",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "subnet",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "lag-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "p-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "lag-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "logical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "sriov-vf",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vlan",
+                       "to": "l-interface",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "lag-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "pserver",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "model-ver",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "constrained-element-set",
+                       "to": "model-constraint",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "constrained-element-set",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "model-constraint",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "named-query",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "named-query",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "property-constraint",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "related-lookup",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "newvce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "oam-network",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "oam-network",
+                       "to": "service-capability",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "p-interface",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "logical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "physical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "pnf",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "pnf",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pnf",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "pnf",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pnf",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "cvlan-tag",
+                       "to": "port-group",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "pserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "pserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "site-pair",
+                       "to": "routing-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "metadatum",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "connector",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "ctag-assignment",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "cvlan-tag",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "service-subscription",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "class-of-service",
+                       "to": "site-pair",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "routing-instance",
+                       "to": "site-pair-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-subscription",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "tenant",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "entitlement",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "license",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "port-group",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vce",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vce",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vce",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vlan",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vlan",
+                       "to": "multicast-configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "tenant",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "volume-group",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "vpls-pe",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "vpls-pe",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vpls-pe",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vpls-pe",
+                       "to": "ctag-pool",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "route-target",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "vserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "vserver",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "flavor",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "image",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "snapshot",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "volume",
+                       "label": "tosca.relationships.AttachesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "metadatum",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "zone",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               }
+       ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v11/DbEdgeRules_esr_v11.json b/aai-schema/src/main/resources/onap/dbedgerules/v11/DbEdgeRules_esr_v11.json
new file mode 100644 (file)
index 0000000..e5ba23b
--- /dev/null
@@ -0,0 +1,64 @@
+{
+  "rules": [
+    {
+      "from": "esr-system-info",
+      "to": "esr-ems",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-system-info",
+      "to": "esr-vnfm",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-system-info",
+      "to": "esr-thirdparty-sdnc",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-thirdparty-sdnc",
+      "to": "pnf",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-system-info",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    }
+  ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v11/DbEdgeRules_v11.json b/aai-schema/src/main/resources/onap/dbedgerules/v11/DbEdgeRules_v11.json
new file mode 100644 (file)
index 0000000..bd9d617
--- /dev/null
@@ -0,0 +1,2138 @@
+{
+       "rules": [
+               {
+                       "from": "allotted-resource",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "network-policy",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "tunnel-xconnect",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "service-capability",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "dvs-switch",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "flavor",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "group-assignment",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "image",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "oam-network",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "snapshot",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "tenant",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vip-ipv4-address-list",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vip-ipv6-address-list",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "volume-group",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "complex",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "ctag-pool",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "configuration",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "configuration",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "metadatum",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "connector",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "metadatum",
+                       "to": "connector",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "element-choice-set",
+                       "to": "constrained-element-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "ctag-pool",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "service-subscription",
+                       "to": "customer",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "dvs-switch",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "model-element",
+                       "to": "element-choice-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "entitlement",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "ctag-pool",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "ipsec-configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "pnf",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vnfc",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vnf-image",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "license",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "network-profile",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "site-pair-set",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "group-assignment",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "tenant",
+                       "to": "group-assignment",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "metadatum",
+                       "to": "image",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "instance-group",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.Targets",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vig-server",
+                       "to": "ipsec-configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "ctag-assignment",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-network",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-network",
+                       "to": "network-policy",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-network",
+                       "to": "route-table-reference",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-network",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "segmentation-assignment",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "subnet",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "lag-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "p-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "lag-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "line-of-business",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "logical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "sriov-vf",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vlan",
+                       "to": "l-interface",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "lag-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "pserver",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "model-ver",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "constrained-element-set",
+                       "to": "model-constraint",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "constrained-element-set",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "model-constraint",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "named-query",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "named-query",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "property-constraint",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "related-lookup",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "newvce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "oam-network",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "oam-network",
+                       "to": "service-capability",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "owning-entity",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "p-interface",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "logical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "physical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "sriov-pf",
+                       "to": "p-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "platform",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "pnf",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "pnf",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pnf",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "pnf",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pnf",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "cvlan-tag",
+                       "to": "port-group",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "project",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "pserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "pserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "site-pair",
+                       "to": "routing-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "metadatum",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "connector",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "ctag-assignment",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "cvlan-tag",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "service-subscription",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "class-of-service",
+                       "to": "site-pair",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "routing-instance",
+                       "to": "site-pair-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "sriov-vf",
+                       "to": "sriov-pf",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "host-route",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-subscription",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "tenant",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "entitlement",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "license",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "port-group",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vce",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vce",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vce",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vip-ipv4-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vip-ipv4-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vip-ipv6-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vip-ipv6-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vlan",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vlan",
+                       "to": "multicast-configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vnfc",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vip-ipv4-address-list",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vip-ipv6-address-list",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "tenant",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "volume-group",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "vpls-pe",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "vpls-pe",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vpls-pe",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vpls-pe",
+                       "to": "ctag-pool",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "route-target",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "vserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "vserver",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "flavor",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "image",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "snapshot",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "volume",
+                       "label": "tosca.relationships.AttachesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "metadatum",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "zone",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               }
+       ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v12/DbEdgeRules_esr_v12.json b/aai-schema/src/main/resources/onap/dbedgerules/v12/DbEdgeRules_esr_v12.json
new file mode 100644 (file)
index 0000000..e5ba23b
--- /dev/null
@@ -0,0 +1,64 @@
+{
+  "rules": [
+    {
+      "from": "esr-system-info",
+      "to": "esr-ems",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-system-info",
+      "to": "esr-vnfm",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-system-info",
+      "to": "esr-thirdparty-sdnc",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-thirdparty-sdnc",
+      "to": "pnf",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-system-info",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    }
+  ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v12/DbEdgeRules_hpa_v12.json b/aai-schema/src/main/resources/onap/dbedgerules/v12/DbEdgeRules_hpa_v12.json
new file mode 100644 (file)
index 0000000..b4ee250
--- /dev/null
@@ -0,0 +1,43 @@
+{
+  "rules": [
+    {
+      "from": "hpa-capability",
+      "to": "flavor",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true",
+      "description": ""
+    },
+    {
+      "from": "hpa-capability",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true",
+      "description": ""
+    },
+    {
+      "from": "hpa-feature-attributes",
+      "to": "hpa-capability",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true",
+      "description": ""
+    }
+  ]
+}
\ No newline at end of file
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v12/DbEdgeRules_v12.json b/aai-schema/src/main/resources/onap/dbedgerules/v12/DbEdgeRules_v12.json
new file mode 100644 (file)
index 0000000..087a71a
--- /dev/null
@@ -0,0 +1,2500 @@
+{
+       "rules": [
+               {
+                       "from": "allotted-resource",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "network-policy",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tunnel-xconnect",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "service-capability",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "dvs-switch",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "flavor",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "group-assignment",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "image",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "oam-network",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "snapshot",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tenant",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv4-address-list",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv6-address-list",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "volume-group",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "complex",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "ctag-pool",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "connector",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "connector",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "element-choice-set",
+                       "to": "constrained-element-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "ctag-pool",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-subscription",
+                       "to": "customer",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "dvs-switch",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-element",
+                       "to": "element-choice-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "entitlement",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "ctag-pool",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "ipsec-configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "pnf",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vnf-image",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "license",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "network-profile",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "site-pair-set",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "group-assignment",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tenant",
+                       "to": "group-assignment",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "image",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "instance-group",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.Targets",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vig-server",
+                       "to": "ipsec-configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "ctag-assignment",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "network-policy",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "route-table-reference",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "segmentation-assignment",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "subnet",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "lag-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "p-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "lag-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "line-of-business",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "logical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Source",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Destination",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "sriov-vf",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan",
+                       "to": "l-interface",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "lag-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "pserver",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-ver",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "constrained-element-set",
+                       "to": "model-constraint",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "constrained-element-set",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-constraint",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "named-query",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "named-query",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "property-constraint",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "related-lookup",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "newvce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "oam-network",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "oam-network",
+                       "to": "service-capability",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "operational-environment",
+                       "to": "operational-environment",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "owning-entity",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "p-interface",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "logical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "physical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "sriov-pf",
+                       "to": "p-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "platform",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "pnf",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "pnf",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pnf",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pnf",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pnf",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "cvlan-tag",
+                       "to": "port-group",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "project",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "pserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "pserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "site-pair",
+                       "to": "routing-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "connector",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "ctag-assignment",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "cvlan-tag",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "service-subscription",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "class-of-service",
+                       "to": "site-pair",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "routing-instance",
+                       "to": "site-pair-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "sriov-vf",
+                       "to": "sriov-pf",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "host-route",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-subscription",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tenant",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "entitlement",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "license",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "port-group",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vce",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vce",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vce",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv4-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv4-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv6-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv6-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan",
+                       "to": "multicast-configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vip-ipv4-address-list",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vip-ipv6-address-list",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tenant",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "volume-group",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "vpls-pe",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "vpls-pe",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vpls-pe",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vpls-pe",
+                       "to": "ctag-pool",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "route-target",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "vserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "vserver",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "flavor",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "image",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "snapshot",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "volume",
+                       "label": "tosca.relationships.AttachesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "zone",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "forwarding-path",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarding-path",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.ForwardsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarding-path",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "lag-interface",
+                       "label": "org.onap.relationships.inventory.ForwardsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "evc",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder-evc",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "p-interface",
+                       "label": "org.onap.relationships.inventory.ForwardsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               }
+       ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v13/DbEdgeRules_esr_v13.json b/aai-schema/src/main/resources/onap/dbedgerules/v13/DbEdgeRules_esr_v13.json
new file mode 100644 (file)
index 0000000..e5ba23b
--- /dev/null
@@ -0,0 +1,64 @@
+{
+  "rules": [
+    {
+      "from": "esr-system-info",
+      "to": "esr-ems",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-system-info",
+      "to": "esr-vnfm",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-system-info",
+      "to": "esr-thirdparty-sdnc",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-thirdparty-sdnc",
+      "to": "pnf",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-system-info",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    }
+  ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v13/DbEdgeRules_hpa_v13.json b/aai-schema/src/main/resources/onap/dbedgerules/v13/DbEdgeRules_hpa_v13.json
new file mode 100644 (file)
index 0000000..1a0ca0a
--- /dev/null
@@ -0,0 +1,43 @@
+{
+  "rules": [
+    {
+      "from": "hpa-capability",
+      "to": "flavor",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true",
+      "description": ""
+    },
+    {
+      "from": "hpa-capability",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true",
+      "description": ""
+    },
+    {
+      "from": "hpa-feature-attributes",
+      "to": "hpa-capability",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true",
+      "description": ""
+    }
+  ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v13/DbEdgeRules_v13.json b/aai-schema/src/main/resources/onap/dbedgerules/v13/DbEdgeRules_v13.json
new file mode 100644 (file)
index 0000000..fb45589
--- /dev/null
@@ -0,0 +1,2824 @@
+{
+       "rules": [
+               {
+                       "from": "allotted-resource",
+                       "to": "allotted-resource",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":"AAI-1925"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "network-policy",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tunnel-xconnect",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "service-capability",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "dvs-switch",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "flavor",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "group-assignment",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "image",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "oam-network",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "snapshot",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tenant",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv4-address-list",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv6-address-list",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "volume-group",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "complex",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "ctag-pool",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "connector",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "connector",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "element-choice-set",
+                       "to": "constrained-element-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "ctag-pool",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-subscription",
+                       "to": "customer",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "dvs-switch",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-element",
+                       "to": "element-choice-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "entitlement",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "ctag-pool",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "ipsec-configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "pnf",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vnf-image",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "license",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "network-profile",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "site-pair-set",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "group-assignment",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tenant",
+                       "to": "group-assignment",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "image",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "instance-group",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.Targets",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vig-server",
+                       "to": "ipsec-configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "ctag-assignment",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "network-policy",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "route-table-reference",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "segmentation-assignment",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "subnet",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "lag-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "p-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "lag-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "line-of-business",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "logical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Source",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Destination",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "sriov-vf",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan",
+                       "to": "l-interface",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "lag-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "pserver",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-ver",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "constrained-element-set",
+                       "to": "model-constraint",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "constrained-element-set",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-constraint",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "named-query",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "named-query",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "property-constraint",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "related-lookup",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "newvce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "oam-network",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "oam-network",
+                       "to": "service-capability",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "operational-environment",
+                       "to": "operational-environment",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "owning-entity",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "p-interface",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "logical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "physical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "sriov-pf",
+                       "to": "p-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "platform",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "pnf",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "pnf",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pnf",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pnf",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pnf",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "cvlan-tag",
+                       "to": "port-group",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "project",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "pserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "pserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "site-pair",
+                       "to": "routing-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "connector",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "ctag-assignment",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "cvlan-tag",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "service-subscription",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "class-of-service",
+                       "to": "site-pair",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "routing-instance",
+                       "to": "site-pair-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "sriov-vf",
+                       "to": "sriov-pf",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "host-route",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-subscription",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tenant",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "entitlement",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "license",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "port-group",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vce",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vce",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vce",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv4-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv4-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv6-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv6-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan",
+                       "to": "multicast-configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vip-ipv4-address-list",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vip-ipv6-address-list",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tenant",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "volume-group",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "vpls-pe",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "vpls-pe",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vpls-pe",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vpls-pe",
+                       "to": "ctag-pool",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "route-target",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "vserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "vserver",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "flavor",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "image",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "snapshot",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "volume",
+                       "label": "tosca.relationships.AttachesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "zone",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "forwarding-path",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarding-path",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.ForwardsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarding-path",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "lag-interface",
+                       "label": "org.onap.relationships.inventory.ForwardsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "evc",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder-evc",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "p-interface",
+                       "label": "org.onap.relationships.inventory.ForwardsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "nos-server",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "nos-server",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "nos-server",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "configuration",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vpn-binding",
+                       "to": "customer",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": "Points to the generic-vnf(s) involved in this forwarding step."
+               },
+        {
+            "from": "cloud-region",
+            "to": "instance-group",
+            "label": "org.onap.relationships.inventory.Uses",
+            "direction": "OUT",
+            "multiplicity": "ONE2MANY",
+            "contains-other-v": "NONE",
+            "delete-other-v": "NONE",
+            "prevent-delete": "NONE",
+            "default": "true",
+            "description": ""
+         },
+                {
+                       "from": "instance-group",
+                       "to": "collection",
+                       "label": "org.onap.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": ""
+                },
+                {
+                       "from": "service-instance",
+                       "to": "collection",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": ""
+                },
+                {
+                       "from": "vlan-mapping",
+                       "to": "forwarder-evc",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": ""
+                },
+         {
+             "from": "allotted-resource",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "configuration",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "connector",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "generic-vnf",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "instance-group",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "l3-network",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "logical-link",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "service-instance",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "vf-module",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "vnfc",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+               {
+                       "from": "pnf",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "private": "true"
+               },
+               {
+                       "from": "collection",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "private": "true"
+               }
+       ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json b/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_ccvpn_v14.json
new file mode 100644 (file)
index 0000000..90c6af3
--- /dev/null
@@ -0,0 +1,352 @@
+{
+  "rules": [
+       {
+               "from": "allotted-resource",
+               "to": "p-interface",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"AAI-1925 For CCVPN Usecase"
+       },
+       {
+               "from": "vpn-binding",
+               "to": "p-interface",
+               "label": "org.onap.relationships.inventory.BindsTo",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "sp-partner",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "connectivity",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "connectivity",
+               "to": "vpn-binding",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "lan-port-config",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "lan-port-config",
+               "to": "dhcp-service",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "${direction}",
+               "delete-other-v": "${direction}",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "network-resource",
+               "to": "vpn-binding",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "pnf",
+               "to": "network-resource",
+               "label": "tosca.relationships.network.LinksTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "site-resource",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "site-resource",
+               "to": "allotted-resource",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "site-resource",
+               "to": "complex",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "sdwan-vpn",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "sdwan-vpn",
+               "to": "tenant",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "sdwan-vpn",
+               "to": "vpn-binding",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "device",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "device",
+               "to": "generic-vnf",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "wan-port-config",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "ext-aai-network",
+               "to": "esr-system-info",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "${direction}",
+               "delete-other-v": "${direction}",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "logical-link",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "vpn-binding",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "pnf",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "connectivity",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "lan-port-config",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "network-resource",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "site-resource",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "sdwan-vpn",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "device",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "wan-port-config",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       }
+  ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_esr_v14.json b/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_esr_v14.json
new file mode 100644 (file)
index 0000000..e5ba23b
--- /dev/null
@@ -0,0 +1,64 @@
+{
+  "rules": [
+    {
+      "from": "esr-system-info",
+      "to": "esr-ems",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-system-info",
+      "to": "esr-vnfm",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-system-info",
+      "to": "esr-thirdparty-sdnc",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-thirdparty-sdnc",
+      "to": "pnf",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-system-info",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    }
+  ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_hpa_v14.json b/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_hpa_v14.json
new file mode 100644 (file)
index 0000000..a2d4444
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "rules": [
+    {
+      "from": "hpa-capability",
+      "to": "flavor",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true",
+      "description":""
+    },
+    {
+      "from": "hpa-capability",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true",
+      "description":""
+    },
+    {
+      "from": "hpa-feature-attributes",
+      "to": "hpa-capability",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true",
+      "description":""
+    },
+    {
+      "from": "hpa-capacity",
+      "to": "pserver",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true",
+      "description":"HPA Capacity KV for given compute node"
+    },
+    {
+      "from": "flavor",
+      "to": "pserver",
+      "label": "org.onap.relationships.inventory.CanBeInstantiatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true",
+      "description":"HPA Capacity getting the compute nodes from given flavor"
+    }
+  ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_pnp_v14.json b/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_pnp_v14.json
new file mode 100644 (file)
index 0000000..5f8f430
--- /dev/null
@@ -0,0 +1,17 @@
+{
+  "rules": [
+    {
+      "from": "software-version",
+      "to": "pnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true",
+      "description":""
+    }
+  ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_v14.json b/aai-schema/src/main/resources/onap/dbedgerules/v14/DbEdgeRules_v14.json
new file mode 100644 (file)
index 0000000..2eed800
--- /dev/null
@@ -0,0 +1,3056 @@
+{
+       "rules": [
+               {
+                       "from": "allotted-resource",
+                       "to": "allotted-resource",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":"AAI-1925"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "network-policy",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tunnel-xconnect",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "service-capability",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "dvs-switch",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "flavor",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "group-assignment",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "image",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "oam-network",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "snapshot",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tenant",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv4-address-list",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv6-address-list",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "volume-group",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "complex",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "ctag-pool",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "connector",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "connector",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "element-choice-set",
+                       "to": "constrained-element-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "ctag-pool",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-subscription",
+                       "to": "customer",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "dvs-switch",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-element",
+                       "to": "element-choice-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "entitlement",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "ctag-pool",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "ipsec-configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "pnf",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vnf-image",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "license",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "network-profile",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "site-pair-set",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "group-assignment",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tenant",
+                       "to": "group-assignment",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "image",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "instance-group",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.Targets",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vig-server",
+                       "to": "ipsec-configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "ctag-assignment",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "network-policy",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "route-table-reference",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "segmentation-assignment",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "subnet",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "lag-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "p-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "lag-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "line-of-business",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "logical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Source",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Destination",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "sriov-vf",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan",
+                       "to": "l-interface",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "lag-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "pserver",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-ver",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "constrained-element-set",
+                       "to": "model-constraint",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "constrained-element-set",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-constraint",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "named-query",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "named-query",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "property-constraint",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "related-lookup",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "newvce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "oam-network",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "oam-network",
+                       "to": "service-capability",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "operational-environment",
+                       "to": "operational-environment",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "owning-entity",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "p-interface",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "logical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "physical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "sriov-pf",
+                       "to": "p-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "platform",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "pnf",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "pnf",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pnf",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pnf",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pnf",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "cvlan-tag",
+                       "to": "port-group",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "project",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "pserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "pserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "site-pair",
+                       "to": "routing-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "connector",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "ctag-assignment",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "cvlan-tag",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "service-subscription",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "class-of-service",
+                       "to": "site-pair",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "routing-instance",
+                       "to": "site-pair-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "sriov-vf",
+                       "to": "sriov-pf",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "host-route",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-subscription",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tenant",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "entitlement",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "license",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "port-group",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vce",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vce",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vce",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv4-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv4-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv6-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv6-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan",
+                       "to": "multicast-configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vip-ipv4-address-list",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vip-ipv6-address-list",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tenant",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "volume-group",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "vpls-pe",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "vpls-pe",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vpls-pe",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vpls-pe",
+                       "to": "ctag-pool",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "route-target",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "vserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "vserver",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "flavor",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "image",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "snapshot",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "volume",
+                       "label": "tosca.relationships.AttachesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "zone",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "forwarding-path",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarding-path",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.ForwardsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarding-path",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "lag-interface",
+                       "label": "org.onap.relationships.inventory.ForwardsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "evc",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder-evc",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "p-interface",
+                       "label": "org.onap.relationships.inventory.ForwardsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "nos-server",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "nos-server",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "nos-server",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "configuration",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vpn-binding",
+                       "to": "customer",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": "Points to the generic-vnf(s) involved in this forwarding step."
+               },
+        {
+            "from": "cloud-region",
+            "to": "instance-group",
+            "label": "org.onap.relationships.inventory.Uses",
+            "direction": "OUT",
+            "multiplicity": "ONE2MANY",
+            "contains-other-v": "NONE",
+            "delete-other-v": "NONE",
+            "prevent-delete": "NONE",
+            "default": "true",
+            "description": ""
+         },
+                {
+                       "from": "instance-group",
+                       "to": "collection",
+                       "label": "org.onap.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": ""
+                },
+                {
+                       "from": "service-instance",
+                       "to": "collection",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": ""
+                },
+                {
+                       "from": "vlan-mapping",
+                       "to": "forwarder-evc",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": ""
+                },
+         {
+             "from": "allotted-resource",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "configuration",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "connector",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "generic-vnf",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "instance-group",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "l3-network",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "logical-link",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "service-instance",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "vf-module",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "vnfc",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+               {
+                       "from": "pnf",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "private": "true"
+               },
+               {
+                       "from": "collection",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "private": "true"
+               },
+               {
+                       "from": "configuration",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "cp",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":"cp is child of vnfc"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "cp",
+                       "label": "org.onap.relationships.inventory.network.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "cp",
+                       "label": "org.onap.relationships.inventory.network.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv4-address-list",
+                       "to": "cp",
+                       "label": "org.onap.relationships.inventory.network.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv6-address-list",
+                       "to": "cp",
+                       "label": "org.onap.relationships.inventory.network.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan-tag",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan-tag",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan-tag",
+                       "to": "cp",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "cp",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "cp",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "line-of-business",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "platform",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "instance-group",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+                       {
+                       "from": "cloud-region",
+                       "to": "network-technology",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               }
+               
+       ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_ccvpn_v15.json b/aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_ccvpn_v15.json
new file mode 100644 (file)
index 0000000..68f2986
--- /dev/null
@@ -0,0 +1,352 @@
+{
+  "rules": [
+       {
+               "from": "allotted-resource",
+               "to": "p-interface",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"AAI-1925 For CCVPN Usecase"
+       },
+       {
+               "from": "vpn-binding",
+               "to": "p-interface",
+               "label": "org.onap.relationships.inventory.BindsTo",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "sp-partner",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "connectivity",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "connectivity",
+               "to": "vpn-binding",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "lan-port-config",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "lan-port-config",
+               "to": "dhcp-service",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "${direction}",
+               "delete-other-v": "${direction}",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "network-resource",
+               "to": "vpn-binding",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "pnf",
+               "to": "network-resource",
+               "label": "tosca.relationships.network.LinksTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "!${direction}",
+               "prevent-delete": "${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "site-resource",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "site-resource",
+               "to": "allotted-resource",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "site-resource",
+               "to": "complex",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "sdwan-vpn",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "sdwan-vpn",
+               "to": "tenant",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "sdwan-vpn",
+               "to": "vpn-binding",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "device",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "device",
+               "to": "generic-vnf",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "wan-port-config",
+               "to": "service-instance",
+               "label": "org.onap.relationships.inventory.PartOf",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "NONE",
+               "prevent-delete": "NONE",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "ext-aai-network",
+               "to": "esr-system-info",
+               "label": "org.onap.relationships.inventory.Uses",
+               "direction": "OUT",
+               "multiplicity": "ONE2MANY",
+               "contains-other-v": "${direction}",
+               "delete-other-v": "${direction}",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "logical-link",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "${direction}",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "vpn-binding",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "${direction}",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "pnf",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "${direction}",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "connectivity",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "${direction}",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "lan-port-config",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "${direction}",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "network-resource",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "${direction}",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "site-resource",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "${direction}",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "sdwan-vpn",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "${direction}",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "device",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "${direction}",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       },
+       {
+               "from": "wan-port-config",
+               "to": "ext-aai-network",
+               "label": "org.onap.relationships.inventory.BelongsTo",
+               "direction": "OUT",
+               "multiplicity": "MANY2MANY",
+               "contains-other-v": "NONE",
+               "delete-other-v": "${direction}",
+               "prevent-delete": "!${direction}",
+               "default": "true",
+               "description":"For CCVPN Usecase"
+       }
+  ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_esr_v15.json b/aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_esr_v15.json
new file mode 100644 (file)
index 0000000..e5ba23b
--- /dev/null
@@ -0,0 +1,64 @@
+{
+  "rules": [
+    {
+      "from": "esr-system-info",
+      "to": "esr-ems",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-system-info",
+      "to": "esr-vnfm",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-system-info",
+      "to": "esr-thirdparty-sdnc",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-thirdparty-sdnc",
+      "to": "pnf",
+      "label": "org.onap.relationships.inventory.AppliesTo",
+      "direction": "OUT",
+      "multiplicity": "ONE2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    },
+    {
+      "from": "esr-system-info",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true"
+    }
+  ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_hpa_v15.json b/aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_hpa_v15.json
new file mode 100644 (file)
index 0000000..a2d4444
--- /dev/null
@@ -0,0 +1,68 @@
+{
+  "rules": [
+    {
+      "from": "hpa-capability",
+      "to": "flavor",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true",
+      "description":""
+    },
+    {
+      "from": "hpa-capability",
+      "to": "cloud-region",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true",
+      "description":""
+    },
+    {
+      "from": "hpa-feature-attributes",
+      "to": "hpa-capability",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true",
+      "description":""
+    },
+    {
+      "from": "hpa-capacity",
+      "to": "pserver",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "!${direction}",
+      "SVC-INFRA": "!${direction}",
+      "prevent-delete": "NONE",
+      "default": "true",
+      "description":"HPA Capacity KV for given compute node"
+    },
+    {
+      "from": "flavor",
+      "to": "pserver",
+      "label": "org.onap.relationships.inventory.CanBeInstantiatedIn",
+      "direction": "OUT",
+      "multiplicity": "MANY2MANY",
+      "contains-other-v": "NONE",
+      "delete-other-v": "NONE",
+      "prevent-delete": "NONE",
+      "default": "true",
+      "description":"HPA Capacity getting the compute nodes from given flavor"
+    }
+  ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_pnp_v15.json b/aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_pnp_v15.json
new file mode 100644 (file)
index 0000000..5f8f430
--- /dev/null
@@ -0,0 +1,17 @@
+{
+  "rules": [
+    {
+      "from": "software-version",
+      "to": "pnf",
+      "label": "org.onap.relationships.inventory.BelongsTo",
+      "direction": "OUT",
+      "multiplicity": "MANY2ONE",
+      "contains-other-v": "!${direction}",
+      "delete-other-v": "NONE",
+      "SVC-INFRA": "NONE",
+      "prevent-delete": "!${direction}",
+      "default": "true",
+      "description":""
+    }
+  ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_v15.json b/aai-schema/src/main/resources/onap/dbedgerules/v15/DbEdgeRules_v15.json
new file mode 100644 (file)
index 0000000..1f6829c
--- /dev/null
@@ -0,0 +1,3172 @@
+{
+       "rules": [
+               {
+                       "from": "allotted-resource",
+                       "to": "allotted-resource",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":"AAI-1925"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "network-policy",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tunnel-xconnect",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "service-capability",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "dvs-switch",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "flavor",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "group-assignment",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "image",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "oam-network",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "snapshot",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tenant",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv4-address-list",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv6-address-list",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "volume-group",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "complex",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "ctag-pool",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "connector",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "connector",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "element-choice-set",
+                       "to": "constrained-element-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "ctag-pool",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-subscription",
+                       "to": "customer",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "dvs-switch",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-element",
+                       "to": "element-choice-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "entitlement",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "ctag-pool",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "ipsec-configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "pnf",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vnf-image",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "license",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "network-profile",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "site-pair-set",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "group-assignment",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tenant",
+                       "to": "group-assignment",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "image",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "instance-group",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.Targets",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vig-server",
+                       "to": "ipsec-configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "ctag-assignment",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "network-policy",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "route-table-reference",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "segmentation-assignment",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "subnet",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "lag-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "p-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "lag-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "line-of-business",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "logical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Source",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Destination",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "sriov-vf",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan",
+                       "to": "l-interface",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "lag-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "pserver",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-ver",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "constrained-element-set",
+                       "to": "model-constraint",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "constrained-element-set",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-constraint",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "named-query",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "named-query",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "property-constraint",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "related-lookup",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "newvce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "oam-network",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "oam-network",
+                       "to": "service-capability",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "operational-environment",
+                       "to": "operational-environment",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "owning-entity",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "p-interface",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "logical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "physical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "sriov-pf",
+                       "to": "p-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "platform",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "pnf",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "pnf",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pnf",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pnf",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pnf",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "cvlan-tag",
+                       "to": "port-group",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "project",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "pserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "pserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "pserver",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "site-pair",
+                       "to": "routing-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "metadatum",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA":"NONE",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":"MSO creates this edge on VNF Group Service creation"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "connector",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "ctag-assignment",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "cvlan-tag",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "service-subscription",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "class-of-service",
+                       "to": "site-pair",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "routing-instance",
+                       "to": "site-pair-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "sriov-vf",
+                       "to": "sriov-pf",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "host-route",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-subscription",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tenant",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "entitlement",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "license",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "port-group",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vce",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vce",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vce",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv4-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv4-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv6-address-list",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv6-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "logical-link",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan",
+                       "to": "multicast-configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vip-ipv4-address-list",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vip-ipv6-address-list",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "tenant",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "volume-group",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "vpls-pe",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "p-interface",
+                       "to": "vpls-pe",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vpls-pe",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vpls-pe",
+                       "to": "ctag-pool",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "route-target",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "vserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vf-module",
+                       "to": "vserver",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "flavor",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "image",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "snapshot",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vserver",
+                       "to": "volume",
+                       "label": "tosca.relationships.AttachesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "zone",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "forwarding-path",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarding-path",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.ForwardsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarding-path",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "lag-interface",
+                       "label": "org.onap.relationships.inventory.ForwardsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "evc",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder-evc",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "p-interface",
+                       "label": "org.onap.relationships.inventory.ForwardsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "nos-server",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "nos-server",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "nos-server",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "configuration",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "configuration",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vpn-binding",
+                       "to": "customer",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "service-instance",
+                       "to": "configuration",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "forwarder",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": "Points to the generic-vnf(s) involved in this forwarding step."
+               },
+        {
+            "from": "cloud-region",
+            "to": "instance-group",
+            "label": "org.onap.relationships.inventory.Uses",
+            "direction": "OUT",
+            "multiplicity": "ONE2MANY",
+            "contains-other-v": "NONE",
+            "delete-other-v": "NONE",
+            "prevent-delete": "NONE",
+            "default": "true",
+            "description": ""
+         },
+                {
+                       "from": "instance-group",
+                       "to": "collection",
+                       "label": "org.onap.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": ""
+                },
+                {
+                       "from": "service-instance",
+                       "to": "collection",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": ""
+                },
+                {
+                       "from": "vlan-mapping",
+                       "to": "forwarder-evc",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description": ""
+                },
+         {
+             "from": "allotted-resource",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "configuration",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "connector",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "generic-vnf",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "instance-group",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "l3-network",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "logical-link",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "service-instance",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "vf-module",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+         {
+             "from": "vnfc",
+             "to": "model-ver",
+             "label": "org.onap.relationships.inventory.IsA",
+             "direction": "OUT",
+             "multiplicity": "MANY2ONE",
+             "contains-other-v": "NONE",
+             "delete-other-v": "NONE",
+             "SVC-INFRA": "NONE",
+             "prevent-delete": "!${direction}",
+             "private": "true"
+         },
+               {
+                       "from": "pnf",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "private": "true"
+               },
+               {
+                       "from": "collection",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "private": "true"
+               },
+               {
+                       "from": "configuration",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vnfc",
+                       "to": "cp",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":"cp is child of vnfc"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "cp",
+                       "label": "org.onap.relationships.inventory.network.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "cp",
+                       "label": "org.onap.relationships.inventory.network.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv4-address-list",
+                       "to": "cp",
+                       "label": "org.onap.relationships.inventory.network.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vip-ipv6-address-list",
+                       "to": "cp",
+                       "label": "org.onap.relationships.inventory.network.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan-tag",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan-tag",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "vlan-tag",
+                       "to": "cp",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l-interface",
+                       "to": "cp",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "cp",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "line-of-business",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "platform",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "l3-network",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+               {
+                       "from": "instance-group",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "false",
+                       "description":""
+               },
+                       {
+                       "from": "cloud-region",
+                       "to": "network-technology",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+                               {
+                       "from": "vrf",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":"A vrf belongs to a pnf."
+               },
+               {
+                       "from": "vrf",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":"A vrf uses a vpn-binding."
+               },
+               {
+                       "from": "vrf",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":"A vrf uses many l3-networks"
+               },
+               {
+                       "from": "configuration",
+                       "to": "vrf",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":"A Configuration uses VRFs"       
+               },
+               {
+                       "from": "vrf",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "route-target",
+                       "to": "vrf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "contact",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.supports",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""
+               },
+               {
+                       "from": "aggregate-route",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "SVC-INFRA": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true",
+                       "description":""                
+               }
+               
+       ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v8/DbEdgeRules_v8.json b/aai-schema/src/main/resources/onap/dbedgerules/v8/DbEdgeRules_v8.json
new file mode 100644 (file)
index 0000000..d01409e
--- /dev/null
@@ -0,0 +1,1467 @@
+{
+       "rules": [
+               {
+                       "from": "availability-zone",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "service-capability",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "dvs-switch",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "flavor",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "group-assignment",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "image",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "oam-network",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "snapshot",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "tenant",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "volume-group",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "complex",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "ctag-pool",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "connector",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "metadatum",
+                       "to": "connector",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "element-choice-set",
+                       "to": "constrained-element-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "ctag-pool",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "service-subscription",
+                       "to": "customer",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "dvs-switch",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "model-element",
+                       "to": "element-choice-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "ipsec-configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vnfc",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vnf-image",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "network-profile",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "site-pair-set",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "group-assignment",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "tenant",
+                       "to": "group-assignment",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "metadatum",
+                       "to": "image",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vig-server",
+                       "to": "ipsec-configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "ctag-assignment",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-network",
+                       "to": "network-policy",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-network",
+                       "to": "route-table-reference",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-network",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "segmentation-assignment",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "subnet",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "lag-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "p-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "lag-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "logical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "sriov-vf",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vlan",
+                       "to": "l-interface",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "lag-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "pserver",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "constrained-element-set",
+                       "to": "model-constraint",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "constrained-element-set",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "model-constraint",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "named-query",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "named-query",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "property-constraint",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "related-lookup",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "newvce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "oam-network",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "oam-network",
+                       "to": "service-capability",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "p-interface",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "logical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "physical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "pnf",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "pnf",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pnf",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "cvlan-tag",
+                       "to": "port-group",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "pserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "pserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "site-pair",
+                       "to": "routing-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "metadatum",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "connector",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "cvlan-tag",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "service-subscription",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "class-of-service",
+                       "to": "site-pair",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "routing-instance",
+                       "to": "site-pair-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-subscription",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "tenant",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "port-group",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vce",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vce",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vce",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vlan",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vlan",
+                       "to": "multicast-configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "tenant",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "volume-group",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "vpls-pe",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "vpls-pe",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vpls-pe",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vpls-pe",
+                       "to": "ctag-pool",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "vserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "vserver",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "flavor",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "image",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "model-element",
+                       "to": "model",
+                       "label": "isA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "model",
+                       "to": "model-element",
+                       "label": "startsWith",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "metadatum",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "snapshot",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "volume",
+                       "label": "tosca.relationships.AttachesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               }
+       ]
+}
diff --git a/aai-schema/src/main/resources/onap/dbedgerules/v9/DbEdgeRules_v9.json b/aai-schema/src/main/resources/onap/dbedgerules/v9/DbEdgeRules_v9.json
new file mode 100644 (file)
index 0000000..c41864a
--- /dev/null
@@ -0,0 +1,1731 @@
+{
+       "rules": [
+               {
+                       "from": "allotted-resource",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.PartOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "tunnel-xconnect",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "service-capability",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "availability-zone",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "cloud-region",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "dvs-switch",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "flavor",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "group-assignment",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "image",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "oam-network",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "snapshot",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "tenant",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "volume-group",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "complex",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "ctag-pool",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "connector",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "metadatum",
+                       "to": "connector",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "element-choice-set",
+                       "to": "constrained-element-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "ctag-pool",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "service-subscription",
+                       "to": "customer",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "dvs-switch",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "model-element",
+                       "to": "element-choice-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "entitlement",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "ipsec-configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vnfc",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vnf-image",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "license",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "network-profile",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "site-pair-set",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "group-assignment",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "tenant",
+                       "to": "group-assignment",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "metadatum",
+                       "to": "image",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "instance-group",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.Targets",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vig-server",
+                       "to": "ipsec-configuration",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "subnet",
+                       "label": "org.onap.relationships.inventory.network.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "ctag-assignment",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-network",
+                       "to": "network-policy",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-network",
+                       "to": "route-table-reference",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-network",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "segmentation-assignment",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "subnet",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "lag-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "p-interface",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "lag-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "logical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "sriov-vf",
+                       "to": "l-interface",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vlan",
+                       "to": "l-interface",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "generic-vnf",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "lag-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "pserver",
+                       "label": "org.onap.relationships.inventory.BridgedTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "vpn-binding",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "model-ver",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "constrained-element-set",
+                       "to": "model-constraint",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "constrained-element-set",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "model-constraint",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "model-element",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "named-query",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "named-query",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "model",
+                       "label": "org.onap.relationships.inventory.IsA",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "named-query-element",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "property-constraint",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "related-lookup",
+                       "to": "named-query-element",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "newvce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "oam-network",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "oam-network",
+                       "to": "service-capability",
+                       "label": "org.onap.relationships.inventory.AppliesTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "p-interface",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "logical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "physical-link",
+                       "label": "tosca.relationships.network.LinksTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "pnf",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "pnf",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pnf",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "pnf",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pnf",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "cvlan-tag",
+                       "to": "port-group",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "pserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "pserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "cloud-region",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "pserver",
+                       "to": "zone",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "site-pair",
+                       "to": "routing-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "allotted-resource",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "metadatum",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "allotted-resource",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "connector",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "ctag-assignment",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "cvlan-tag",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "instance-group",
+                       "label": "org.onap.relationships.inventory.MemberOf",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "pnf",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "service-instance",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "service-subscription",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "class-of-service",
+                       "to": "site-pair",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "routing-instance",
+                       "to": "site-pair-set",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-subscription",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "tenant",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "tenant",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "entitlement",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "license",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "port-group",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "service-instance",
+                       "to": "vce",
+                       "label": "org.onap.relationships.inventory.ComposedOf",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vce",
+                       "to": "availability-zone",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vce",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vce",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "l3-network",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "vnfc",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "generic-vnf",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "logical-link",
+                       "to": "virtual-data-center",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv4-address-list",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l3-interface-ipv6-address-list",
+                       "to": "vlan",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vlan",
+                       "to": "logical-link",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vlan",
+                       "to": "multicast-configuration",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "tenant",
+                       "to": "volume-group",
+                       "label": "org.onap.relationships.inventory.DependsOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "volume-group",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "lag-interface",
+                       "to": "vpls-pe",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "p-interface",
+                       "to": "vpls-pe",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vpls-pe",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vpls-pe",
+                       "to": "ctag-pool",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "l-interface",
+                       "to": "vserver",
+                       "label": "tosca.relationships.network.BindsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vf-module",
+                       "to": "vserver",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vnfc",
+                       "to": "vserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "flavor",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "image",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "pserver",
+                       "label": "tosca.relationships.HostedOn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "snapshot",
+                       "label": "org.onap.relationships.inventory.Uses",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "vserver",
+                       "to": "volume",
+                       "label": "tosca.relationships.AttachesTo",
+                       "direction": "OUT",
+                       "multiplicity": "ONE2MANY",
+                       "contains-other-v": "${direction}",
+                       "delete-other-v": "${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "metadatum",
+                       "to": "model-ver",
+                       "label": "org.onap.relationships.inventory.BelongsTo",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "!${direction}",
+                       "delete-other-v": "!${direction}",
+                       "prevent-delete": "NONE",
+                       "default": "true"
+               },
+               {
+                       "from": "zone",
+                       "to": "complex",
+                       "label": "org.onap.relationships.inventory.LocatedIn",
+                       "direction": "OUT",
+                       "multiplicity": "MANY2ONE",
+                       "contains-other-v": "NONE",
+                       "delete-other-v": "NONE",
+                       "prevent-delete": "!${direction}",
+                       "default": "true"
+               }
+       ]
+}
diff --git a/aai-schema/src/main/resources/onap/oxm/v10/aai_oxm_v10.xml b/aai-schema/src/main/resources/onap/oxm/v10/aai_oxm_v10.xml
new file mode 100644 (file)
index 0000000..9397c15
--- /dev/null
@@ -0,0 +1,5585 @@
+<!--
+
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 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=========================================================
+
+    ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+--><xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.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.onap.org.v10.Search"/>
+                <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v10.Actions"/>
+                <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v10.CloudInfrastructure"/>
+                <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v10.Business"/>
+                <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v10.ServiceDesignAndCreation"/>
+                <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v10.Network"/>
+                <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v10.AaiInternal"/>
+                <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.onap.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.onap.org.v10.EdgeTagQueryResult"/>
+                <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v10.EdgeTagQueryRequest"/>
+                <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v10.SearchResults"/>
+                <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.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.onap.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.onap.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.onap.org.v10.InventoryItemData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.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.onap.org.v10.StartNodeFilter"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v10.IncludeNodeFilter"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.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.onap.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.onap.org.v10.OamNetworks"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.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.onap.org.v10.DvsSwitches"/>
+                <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.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.onap.org.v10.Update"/>
+                <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.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-property name="requiredProps" value="update-node-type"/>
+            </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.onap.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.onap.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.onap.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.onap.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.onap.org.v10.Complexes"/>
+                <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v10.CloudRegions"/>
+                <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v10.NetworkProfiles"/>
+                <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v10.Pservers"/>
+                <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.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.onap.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.onap.org.v10.VolumeGroups"/>
+                <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v10.Tenants"/>
+                <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v10.Flavors"/>
+                <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v10.GroupAssignments"/>
+                <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v10.Snapshots"/>
+                <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v10.Images"/>
+                <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v10.DvsSwitches"/>
+                <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v10.OamNetworks"/>
+                <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v10.AvailabilityZones"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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"/>
+                <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-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+            <xml-property name="requiredProps" value="cloud-owner,cloud-region-id"/>
+            </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.onap.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" 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.onap.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-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+            <xml-property name="requiredProps" value="volume-group-id,vnf-type"/>
+            </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.onap.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.onap.org.v10.RelationshipData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.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.onap.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.onap.org.v10.CtagPools"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+            <xml-property name="requiredProps" value="physical-location-id,physical-location-type,street1,city,postal-code,country,region"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+            <xml-property name="requiredProps" value="target-pe,availability-zone-name,ctag-pool-purpose"/>
+            </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.onap.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.onap.org.v10.Vservers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+            <xml-property name="requiredProps" value="tenant-id,tenant-name"/>
+            </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.onap.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" 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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v10.Volumes"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.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-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+            <xml-property name="requiredProps" value="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled"/>
+            </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.onap.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.onap.org.v10.Vlans"/>
+                <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v10.SriovVfs"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v10.LInterfaces"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v10.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v10.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.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,p-interface,vserver,lag-interface,l-interface"/>
+                <xml-property name="container" value="l-interfaces"/>
+                <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,is-port-mirrored,in-maint"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+            <xml-property name="requiredProps" value="pci-id"/>
+            </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.onap.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-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+            <xml-property name="requiredProps" value="l3-interface-ipv4-address"/>
+            </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.onap.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="vpnKey" name="vpn-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan"/>
+                    </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.onap.org.v10.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v10.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.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-key"/>
+                <xml-property name="dependentOn" value="l-interface"/>
+                <xml-property name="container" value="vlans"/>
+                <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+            <xml-property name="requiredProps" value="vlan-interface,in-maint"/>
+            </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.onap.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-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+            <xml-property name="requiredProps" value="l3-interface-ipv6-address"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+            <xml-property name="requiredProps" value="volume-id,volume-selflink"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+            <xml-property name="requiredProps" value="flavor-id,flavor-name,flavor-selflink"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+            <xml-property name="requiredProps" value="snapshot-id"/>
+            </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.onap.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.onap.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="searchable" value="group-id,group-name"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+                <xml-property name="container" value="group-assignments"/>
+                <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+            <xml-property name="requiredProps" value="group-id,group-type,group-name"/>
+            </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.onap.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.onap.org.v10.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.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-property name="uriTemplate" value="/images/image/{image-id}"/>
+            <xml-property name="requiredProps" value="image-id,image-name,image-os-distro,image-os-version,image-selflink"/>
+            </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.onap.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-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+            <xml-property name="requiredProps" value="metaname,metaval"/>
+            </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 GenericVnfs."/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+            <xml-property name="requiredProps" value="switch-name,vcenter-url"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+            <xml-property name="requiredProps" value="nm-profile-name"/>
+            </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.onap.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" 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). 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.onap.org.v10.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v10.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.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="uniqueProps" value="hostname"/>
+                <xml-property name="container" value="pservers"/>
+                <xml-property name="namespace" value="cloud-infrastructure"/>
+                <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+            <xml-property name="requiredProps" value="hostname,in-maint"/>
+            </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.onap.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.onap.org.v10.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.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-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,in-maint"/>
+            </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.onap.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.onap.org.v10.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.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,vpls-pe,pnf"/>
+                <xml-property name="container" value="lag-interfaces"/>
+                <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,in-maint"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+            <xml-property name="requiredProps" value="network-uuid,network-name,cvlan-tag"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+            <xml-property name="requiredProps" value="availability-zone-name,hypervisor-type"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+            <xml-property name="requiredProps" value="vdc-id,vdc-name"/>
+            </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.onap.org.v10.Connectors"/>
+                <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.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.onap.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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v10.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.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-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+            <xml-property name="requiredProps" value="resource-instance-id"/>
+            </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.onap.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.onap.org.v10.ServiceSubscriptions"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+            <xml-property name="requiredProps" value="global-customer-id,subscriber-name,subscriber-type"/>
+            </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.onap.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.onap.org.v10.ServiceInstances">
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="uriTemplate" value="/service-subscriptions/service-subscription/{service-type}"/>
+            <xml-property name="requiredProps" value="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.onap.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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v10.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v10.Metadata"/>
+                <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.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-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+            <xml-property name="requiredProps" value="service-instance-id"/>
+            </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.onap.org.v10.VnfImages"/>
+                <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v10.Services"/>
+                <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v10.ServiceCapabilities"/>
+                <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v10.Models"/>
+                <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.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.onap.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.onap.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-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{att-uuid}"/>
+            <xml-property name="requiredProps" value="vnf-image-uuid,application,application-vendor"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+            <xml-property name="requiredProps" value="service-id,service-description"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+            <xml-property name="requiredProps" value="service-type,vnf-type"/>
+            </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.onap.org.v10.LogicalLinks"/>
+                <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v10.SitePairSets"/>
+                <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v10.VpnBindings"/>
+                <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v10.VplsPes"/>
+                <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v10.MulticastConfigurations"/>
+                <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v10.Vces"/>
+                <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v10.Vnfcs"/>
+                <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v10.L3Networks"/>
+                <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v10.NetworkPolicies"/>
+                <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v10.GenericVnfs"/>
+                <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v10.LagLinks"/>
+                <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v10.Newvces"/>
+                <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v10.Pnfs"/>
+                <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v10.PhysicalLinks"/>
+                <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v10.IpsecConfigurations"/>
+                <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v10.RouteTableReferences"/>
+                <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v10.InstanceGroups"/>
+                <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.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.onap.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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.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-property name="uriTemplate" value="/network/logical-links/logical-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name,link-type"/>
+            </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.onap.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.onap.org.v10.RoutingInstances"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+            <xml-property name="requiredProps" value="site-pair-set-id"/>
+            </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.onap.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.onap.org.v10.SitePairs"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+            </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.onap.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, UCPE, 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.onap.org.v10.ClassesOfService"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+            </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.onap.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.onap.org.v10.RouteTargets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+            <xml-property name="requiredProps" value="vpn-id,vpn-name"/>
+            </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.onap.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.org.v10.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v10.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.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-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+            <xml-property name="requiredProps" value="equipment-name"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+            </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.onap.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.onap.org.v10.PortGroups"/>
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v10.Licenses"/>
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v10.Entitlements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+            <xml-property name="requiredProps" value="vnf-id,vnf-name,vnf-type"/>
+            </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.onap.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.onap.org.v10.CvlanTags"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+            <xml-property name="requiredProps" value="interface-id,orchestration-status"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag}"/>
+            </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.onap.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-property name="dbAlias" value="nfc-naming-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-property name="dbAlias" value="nfc-function"/>
+                    </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" 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 default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.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-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+            </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.onap.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" 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" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v10.Subnets"/>
+                <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v10.CtagAssignments"/>
+                <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v10.SegmentationAssignments"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+            <xml-property name="requiredProps" value="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-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.onap.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.onap.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-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+            </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.onap.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" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" 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.onap.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-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+            </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.onap.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" 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 ATT 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" 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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v10.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v10.LInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v10.LagInterfaces"/>
+                <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v10.VfModules"/>
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v10.Licenses"/>
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.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-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+            <xml-property name="requiredProps" value="vnf-id,vnf-type,in-maint,is-closed-loop-disabled"/>
+            </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.onap.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" java-attribute="isBaseVfModule" name="is-base-vf-module" 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 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.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-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+            <xml-property name="requiredProps" value="vf-module-id,is-base-vf-module"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name"/>
+            </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.onap.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v10.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.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-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+            <xml-property name="requiredProps" value="vnf-id2,vnf-name,vnf-type"/>
+            </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.onap.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 ATT 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" 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). 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.onap.org.v10.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v10.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.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. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>
+                <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-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+            <xml-property name="requiredProps" value="pnf-name,in-maint"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+            <xml-property name="requiredProps" value="vig-address-type"/>
+            </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.onap.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.onap.org.v10.RelationshipList"/>
+                <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.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-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+            <xml-property name="requiredProps" value="ipsec-configuration-id"/>
+            </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.onap.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.onap.org.v10.ReservedPropNames"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.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="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+                <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+                <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+                <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+            </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.onap.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-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-invariant-id}"/>
+            <xml-property name="requiredProps" value="model-invariant-id,model-type"/>
+            </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.onap.org.v10.ModelVers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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.onap.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-property name="uriTemplate" value="/model-vers/model-ver/{model-version-id}"/>
+            <xml-property name="requiredProps" value="model-version-id,model-name,model-version"/>
+            </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.onap.org.v10.ModelElements"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v10.Metadata"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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.onap.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-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+            <xml-property name="requiredProps" value="model-element-uuid,new-data-del-flag,cardinality"/>
+            </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.onap.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.onap.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.onap.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.onap.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-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+            <xml-property name="requiredProps" value="model-constraint-uuid,constrained-element-set-uuid-to-replace"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+            <xml-property name="requiredProps" value="constrained-element-set-uuid,constraint-type,check-type"/>
+            </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.onap.org.v10.ElementChoiceSets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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.onap.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-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+            <xml-property name="requiredProps" value="element-choice-set-uuid,element-choice-set-name"/>
+            </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.onap.org.v10.ModelElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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.onap.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-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+            <xml-property name="requiredProps" value="named-query-uuid,named-query-name,named-query-version"/>
+            </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.onap.org.v10.NamedQueryElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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.onap.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-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+            <xml-property name="requiredProps" value="named-query-element-uuid"/>
+            </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.onap.org.v10.NamedQueryElements"/>
+                <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v10.RelatedLookups"/>
+                <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v10.PropertyConstraints"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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.onap.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-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+            <xml-property name="requiredProps" value="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+            <xml-property name="requiredProps" value="property-constraint-uuid,constraint-type,property-name,property-value"/>
+            </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.onap.org.v10.QueryParameters"/>
+                <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v10.InstanceFilters"/>
+                <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.onap.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.onap.org.v10.NamedQuery"/>
+                <xml-element java-attribute="model" name="model" type="inventory.aai.onap.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-property name="requiredProps" value="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version"/>
+            </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.onap.org.v10.ModelVers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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.onap.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.onap.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.onap.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.onap.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.onap.org.v10.ExtraProperties"/>
+                <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.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.onap.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.onap.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.onap.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-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+            <xml-property name="requiredProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+            </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.onap.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-property name="dbAlias" value="instance-group-type"/>
+                    </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.onap.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="searchable" value="id,description"/>
+                <xml-property name="indexedProps" value="id,description,type,sub-type"/>
+                <xml-property name="container" value="instance-groups"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/instance-groups/instance-group/{id}"/>
+            <xml-property name="requiredProps" value="id,description,type"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+            <xml-property name="requiredProps" value="segmentation-id"/>
+            </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.onap.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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v10.TunnelXconnects"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="uriTemplate" value="/allotted-resources/allotted-resource/{id}"/>
+            <xml-property name="requiredProps" value="id"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/tunnel-xconnects/tunnel-xconnect/{id}"/>
+            <xml-property name="requiredProps" value="id,bandwidth-up-wan1,bandwidth-down-wan1,bandwidth-up-wan2,bandwidth-down-wan2"/>
+            </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.onap.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.onap.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"/>
+                <xml-property name="container" value="entitlements"/>
+                <xml-property name="uriTemplate" value="/entitlements/entitlement/{group-uuid}/{resource-uuid}"/>
+            <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+            </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.onap.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.onap.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"/>
+                <xml-property name="container" value="licenses"/>
+                <xml-property name="uriTemplate" value="/licenses/license/{group-uuid}/{resource-uuid}"/>
+            <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+            </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,generic-vnf"/>
+                <xml-property name="abstract" value="true"/>
+            <xml-property name="requiredProps" value="vnf-id"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/network/zones/zone/{zone-id}"/>
+            <xml-property name="requiredProps" value="zone-id,zone-name,design-type,zone-context"/>
+            </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.onap.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" type="java.lang.String" xml-key="true">
+                    <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" type="java.lang.String" xml-key="true">
+                    <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.onap.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-property name="uriTemplate" value="/route-targets/route-target/{global-route-target}/{route-target-role}"/>
+            <xml-property name="requiredProps" value="global-route-target,route-target-role"/>
+            </xml-properties>
+        </java-type>
+    </java-types>
+</xml-bindings>
diff --git a/aai-schema/src/main/resources/onap/oxm/v11/aai_oxm_v11.xml b/aai-schema/src/main/resources/onap/oxm/v11/aai_oxm_v11.xml
new file mode 100644 (file)
index 0000000..2b9f65e
--- /dev/null
@@ -0,0 +1,6564 @@
+<!--
+
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 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=========================================================
+
+    ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+--><xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v11" xml-mapping-metadata-complete="true">
+    <xml-schema element-form-default="QUALIFIED">
+               <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v11"/>
+    </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.onap.org.v11.Search"/>
+                <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v11.Actions"/>
+                <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v11.CloudInfrastructure"/>
+                               <xml-element java-attribute="externalSystem" name="external-system" type="inventory.aai.onap.org.v11.ExternalSystem"/>
+                <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v11.Business"/>
+                <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v11.ServiceDesignAndCreation"/>
+                <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v11.Network"/>
+                <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v11.AaiInternal"/>
+                <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.onap.org.v11.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.onap.org.v11.EdgeTagQueryResult"/>
+                <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v11.EdgeTagQueryRequest"/>
+                <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v11.SearchResults"/>
+                <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v11.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.onap.org.v11.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.onap.org.v11.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.onap.org.v11.InventoryItemData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v11.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.onap.org.v11.StartNodeFilter"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v11.IncludeNodeFilter"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v11.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.onap.org.v11.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.onap.org.v11.OamNetworks"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v11.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.onap.org.v11.DvsSwitches"/>
+                <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v11.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.onap.org.v11.Update"/>
+                <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v11.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-property name="requiredProps" value="update-node-type"/>
+            </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.onap.org.v11.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.onap.org.v11.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.onap.org.v11.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.onap.org.v11.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="ExternalSystem">
+                       <xml-properties>
+                               <xml-property name="description" value="Namespace for external system."/>
+                       </xml-properties>
+                       <xml-root-element name="external-system"/>
+                       <java-attributes>
+                               <xml-element java-attribute="esrEmsList" name="esr-ems-list" type="inventory.aai.onap.org.v11.EsrEmsList"/>
+                               <xml-element java-attribute="esrVnfmList" name="esr-vnfm-list" type="inventory.aai.onap.org.v11.EsrVnfmList"/>
+                               <xml-element java-attribute="esrThirdpartySdncList" name="esr-thirdparty-sdnc-list" type="inventory.aai.onap.org.v11.EsrThirdpartySdncList"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="EsrEmsList">
+                       <xml-root-element name="esr-ems-list"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrEms" name="esr-ems" type="inventory.aai.onap.org.v11.EsrEms"/>
+                       </java-attributes>
+            <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrEms">
+                       <xml-root-element name="esr-ems"/>
+                       <java-attributes>
+                               <xml-element java-attribute="emsId" name="ems-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of EMS."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v11.EsrSystemInfoList"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist EMS address information used by EMS driver."/>
+                               <xml-property name="indexedProps" value="ems-id"/>
+                               <xml-property name="searchable" value="ems-id"/>
+                               <xml-property name="container" value="esr-ems-list"/>
+                               <xml-property name="namespace" value="external-system"/>
+                       <xml-property name="requiredProps" value="ems-id"/>
+            <xml-property name="uriTemplate" value="/external-system/esr-ems-list/esr-ems/{ems-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="EsrVnfmList">
+                       <xml-root-element name="esr-vnfm-list"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrVnfm" name="esr-vnfm" type="inventory.aai.onap.org.v11.EsrVnfm"/>
+                       </java-attributes>
+            <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrVnfm">
+                       <xml-root-element name="esr-vnfm"/>
+                       <java-attributes>
+                               <xml-element java-attribute="vnfmId" name="vnfm-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of VNFM."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vimId" name="vim-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="indecate the VIM to deploy VNF."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="certificateUrl" name="certificate-url" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="certificate url of VNFM."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v11.EsrSystemInfoList"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist VNFM address information used by VF-C."/>
+                               <xml-property name="indexedProps" value="vnfm-id"/>
+                               <xml-property name="searchable" value="vnfm-id"/>
+                               <xml-property name="container" value="esr-vnfm-list"/>
+                               <xml-property name="namespace" value="external-system"/>
+                       <xml-property name="requiredProps" value="vnfm-id"/>
+            <xml-property name="uriTemplate" value="/external-system/esr-vnfm-list/esr-vnfm/{vnfm-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="EsrThirdpartySdncList">
+                       <xml-root-element name="esr-thirdparty-sdnc-list"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrThirdpartySdnc" name="esr-thirdparty-sdnc" type="inventory.aai.onap.org.v11.EsrThirdpartySdnc"/>
+                       </java-attributes>
+            <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrThirdpartySdnc">
+                       <xml-root-element name="esr-thirdparty-sdnc"/>
+                       <java-attributes>
+                               <xml-element java-attribute="thirdpartySdncId" name="thirdparty-sdnc-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of SDNC."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="location" name="location" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="used for DC type to indicate the location of SDNC, such as Core or Edge."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="productName" name="product-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="password used to access SDNC 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="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v11.EsrSystemInfoList"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist SDNC address information used by ONAP SDNC."/>
+                               <xml-property name="indexedProps" value="sdnc-id"/>
+                               <xml-property name="searchable" value="sdnc-id"/>
+                               <xml-property name="container" value="esr-thirdparty-sdnc-list"/>
+                               <xml-property name="namespace" value="external-system"/>
+                       <xml-property name="requiredProps" value="thirdparty-sdnc-id"/>
+            <xml-property name="uriTemplate" value="/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/{thirdparty-sdnc-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="EsrSystemInfoList">
+                       <xml-root-element name="esr-system-info-list"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of persistent block-level external system auth info."/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrSystemInfo" name="esr-system-info" type="inventory.aai.onap.org.v11.EsrSystemInfo"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrSystemInfo">
+                       <xml-root-element name="esr-system-info"/>
+                       <java-attributes>
+                               <xml-element java-attribute="esrSystemInfoId" name="esr-system-info-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of esr system info."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemName" name="system-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="name of external system."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="type" name="type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="type of external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vendor" name="vendor" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="vendor of external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="version" name="version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="version of external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serviceUrl" name="service-url" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="url used to access external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="userName" name="user-name" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="username used to access external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="password" name="password" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="password used to access external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemType" name="system-type" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="it could be vim/vnfm/thirdparty-sdnc/ems-resource/ems-performance/ems-alarm."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="protocol" name="protocol" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="protocol of third party SDNC, for example netconf/snmp."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="sslCacert" name="ssl-cacert" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ca file content if enabled ssl on auth-url."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element default-value="false" java-attribute="sslInsecure" name="ssl-insecure" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Whether to verify VIM's certificate."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipAddress" name="ip-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="service IP of ftp server."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="port" name="port" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="service port of ftp server."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cloudDomain" name="cloud-domain" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="domain info for authentication."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="defaultTenant" name="default-tenant" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="default tenant of VIM."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="passive" name="passive" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ftp passive mode or not."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="remotepath" name="remote-path" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="resource or performance data file path."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemStatus" name="system-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the status of external system."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v11.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist common address information of external systems."/>
+                               <xml-property name="indexedProps" value="esr-system-info-id,system-name,system-type"/>
+                               <xml-property name="searchable" value="esr-system-info-id,system-name,system-type"/>
+                               <xml-property name="container" value="esr-system-info-list"/>
+                               <xml-property name="dependentOn" value="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc"/>
+                       <xml-property name="requiredProps" value="esr-system-info-id,user-name,password,system-type"/>
+            <xml-property name="uriTemplate" value="/esr-system-info-list/esr-system-info/{esr-system-info-id}"/>
+            </xml-properties>
+               </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.onap.org.v11.Complexes"/>
+                <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v11.CloudRegions"/>
+                <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v11.NetworkProfiles"/>
+                <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v11.Pservers"/>
+                <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v11.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.onap.org.v11.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="sriovAutomation" name="sriov-automation" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Whether the cloud region supports (true) or does not support (false) SR-IOV automation."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cloudExtraInfo" name="cloud-extra-info" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ESR inputs extra information about the VIM or Cloud which will be decoded by MultiVIM."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cloudEpaCaps" name="cloud-epa-caps" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="MultiVIM will discover and expose EPA capabilities."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v11.VolumeGroups"/>
+                <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v11.Tenants"/>
+                <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v11.Flavors"/>
+                <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v11.GroupAssignments"/>
+                <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v11.Snapshots"/>
+                <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v11.Images"/>
+                <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v11.DvsSwitches"/>
+                <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v11.OamNetworks"/>
+                <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v11.AvailabilityZones"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v11.EsrSystemInfoList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv4AddressList" name="vip-ipv4-address-list" type="inventory.aai.onap.org.v11.VipIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv6AddressList" name="vip-ipv6-address-list" type="inventory.aai.onap.org.v11.VipIpv6AddressList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation."/>
+                <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-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+            <xml-property name="requiredProps" value="cloud-owner,cloud-region-id"/>
+            </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.onap.org.v11.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" 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.onap.org.v11.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-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+            <xml-property name="requiredProps" value="volume-group-id,vnf-type"/>
+            </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.onap.org.v11.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.onap.org.v11.RelationshipData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v11.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.onap.org.v11.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.onap.org.v11.CtagPools"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+            <xml-property name="requiredProps" value="physical-location-id,physical-location-type,street1,city,postal-code,country,region"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+            <xml-property name="requiredProps" value="target-pe,availability-zone-name,ctag-pool-purpose"/>
+            </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.onap.org.v11.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="tenantContext" name="tenant-context" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field will store the tenant context."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v11.Vservers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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,tenant-context"/>
+                <xml-property name="searchable" value="tenant-id,tenant-name"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+                <xml-property name="container" value="tenants"/>
+                <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+            <xml-property name="requiredProps" value="tenant-id,tenant-name"/>
+            </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.onap.org.v11.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" 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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v11.Volumes"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+            <xml-property name="requiredProps" value="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled"/>
+            </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.onap.org.v11.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="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="allowedAddressPairs" name="allowed-address-pairs" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Freeform field for storing an ip address, list of ip addresses or a subnet block."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.onap.org.v11.Vlans"/>
+                <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v11.SriovVfs"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.LInterfaces"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v11.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,p-interface,vserver,lag-interface,l-interface"/>
+                <xml-property name="container" value="l-interfaces"/>
+                <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,is-port-mirrored,in-maint,is-ip-unnumbered"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+            <xml-property name="requiredProps" value="pci-id"/>
+            </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.onap.org.v11.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,vnfc"/>
+            <xml-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+            <xml-property name="requiredProps" value="l3-interface-ipv4-address"/>
+            </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.onap.org.v11.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="vpnKey" name="vpn-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan"/>
+                    </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="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv6AddressList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Definition of vlan"/>
+                <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key"/>
+                <xml-property name="dependentOn" value="l-interface"/>
+                <xml-property name="container" value="vlans"/>
+                <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+            <xml-property name="requiredProps" value="vlan-interface,in-maint,is-ip-unnumbered"/>
+            </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.onap.org.v11.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,vnfc"/>
+            <xml-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+            <xml-property name="requiredProps" value="l3-interface-ipv6-address"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+            <xml-property name="requiredProps" value="volume-id,volume-selflink"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+            <xml-property name="requiredProps" value="flavor-id,flavor-name,flavor-selflink"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+            <xml-property name="requiredProps" value="snapshot-id"/>
+            </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.onap.org.v11.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.onap.org.v11.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="searchable" value="group-id,group-name"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+                <xml-property name="container" value="group-assignments"/>
+                <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+            <xml-property name="requiredProps" value="group-id,group-type,group-name"/>
+            </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.onap.org.v11.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.onap.org.v11.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/images/image/{image-id}"/>
+            <xml-property name="requiredProps" value="image-id,image-name,image-os-distro,image-os-version,image-selflink"/>
+            </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.onap.org.v11.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-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+            <xml-property name="requiredProps" value="metaname,metaval"/>
+            </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 GenericVnfs."/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+            <xml-property name="requiredProps" value="switch-name,vcenter-url"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+            <xml-property name="requiredProps" value="nm-profile-name"/>
+            </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.onap.org.v11.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" 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). 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="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicates who owns and or manages the device."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="hostProfile" name="host-profile" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The host profile that defines the configuration of the pserver."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v11.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v11.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="uniqueProps" value="hostname"/>
+                <xml-property name="container" value="pservers"/>
+                <xml-property name="namespace" value="cloud-infrastructure"/>
+                <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+            <xml-property name="requiredProps" value="hostname,in-maint"/>
+            </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.onap.org.v11.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="macAddress" name="mac-addresss" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="MAC Address of the p-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 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="invStatus" name="inv-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="inventory status"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+                <xml-element java-attribute="sriovPfs" name="sriov-pfs" type="inventory.aai.onap.org.v11.SriovPfs"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,in-maint"/>
+            </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.onap.org.v11.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.onap.org.v11.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.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,vpls-pe,pnf"/>
+                <xml-property name="container" value="lag-interfaces"/>
+                <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,in-maint"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+            <xml-property name="requiredProps" value="network-uuid,network-name,cvlan-tag"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+            <xml-property name="requiredProps" value="availability-zone-name,hypervisor-type"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+            <xml-property name="requiredProps" value="vdc-id,vdc-name"/>
+            </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.onap.org.v11.Connectors"/>
+                <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v11.Customers"/>
+                <xml-element java-attribute="linesOfBusiness" name="lines-of-business" type="inventory.aai.onap.org.v11.LinesOfBusiness"/>
+                <xml-element java-attribute="owningEntities" name="owning-entities" type="inventory.aai.onap.org.v11.OwningEntities"/>
+                <xml-element java-attribute="platforms" name="platforms" type="inventory.aai.onap.org.v11.Platforms"/>
+                <xml-element java-attribute="projects" name="projects" type="inventory.aai.onap.org.v11.Projects"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Projects">
+            <xml-properties>
+                <xml-property name="description" value="Collection of projects"/>
+            </xml-properties>
+            <xml-root-element name="projects"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="project" name="project" type="inventory.aai.onap.org.v11.Project"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Project">
+            <xml-root-element name="project"/>
+            <java-attributes>
+                <xml-element java-attribute="projectName" name="project-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the project deploying a 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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes the project"/>
+                <xml-property name="indexedProps" value="project-name"/>
+                <xml-property name="uniqueProps" value="project-name"/>
+                <xml-property name="container" value="projects"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/projects/project/{project-name}"/>
+            <xml-property name="requiredProps" value="project-name"/>
+            </xml-properties>
+        </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.onap.org.v11.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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v11.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+            <xml-property name="requiredProps" value="resource-instance-id"/>
+            </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.onap.org.v11.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.onap.org.v11.ServiceSubscriptions"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+            <xml-property name="requiredProps" value="global-customer-id,subscriber-name,subscriber-type"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="LinesOfBusiness">
+            <xml-properties>
+                <xml-property name="description" value="Collection of lines-of-business"/>
+            </xml-properties>
+            <xml-root-element name="lines-of-business"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="lineOfBusiness" name="line-of-business" type="inventory.aai.onap.org.v11.LineOfBusiness"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="LineOfBusiness">
+            <xml-root-element name="line-of-business"/>
+            <java-attributes>
+                <xml-element java-attribute="lineOfBusinessName" name="line-of-business-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the line-of-business (product)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v11.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes a line-of-business"/>
+                <xml-property name="indexedProps" value="line-of-business-name"/>
+                <xml-property name="uniqueProps" value="line-of-business-name"/>
+                <xml-property name="container" value="lines-of-business"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/lines-of-business/line-of-business/{line-of-business-name}"/>
+            <xml-property name="requiredProps" value="line-of-business-name"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="OwningEntities">
+            <xml-properties>
+                <xml-property name="description" value="Collection of owning-entities"/>
+            </xml-properties>
+            <xml-root-element name="owning-entities"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="owningEntity" name="owning-entity" type="inventory.aai.onap.org.v11.OwningEntity"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="OwningEntity">
+            <xml-root-element name="owning-entity"/>
+            <java-attributes>
+                <xml-element java-attribute="owningEntityId" name="owning-entity-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of an owning entity"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="owningEntityName" name="owning-entity-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Owning entity name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v11.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes an owning-entity"/>
+                <xml-property name="indexedProps" value="owning-entity-id,owning-entity-name"/>
+                <xml-property name="searchable" value="owning-entity-id"/>
+                <xml-property name="uniqueProps" value="owning-entity-id,owning-entity-name"/>
+                <xml-property name="container" value="owning-entities"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/owning-entities/owning-entity/{owning-entity-id}"/>
+            <xml-property name="requiredProps" value="owning-entity-id,owning-entity-name"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Platforms">
+            <xml-properties>
+                <xml-property name="description" value="Collection of platforms"/>
+            </xml-properties>
+            <xml-root-element name="platforms"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="platform" name="platform" type="inventory.aai.onap.org.v11.Platform"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Platform">
+            <xml-root-element name="platform"/>
+            <java-attributes>
+                <xml-element java-attribute="platformName" name="platform-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the platform"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v11.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes a platform"/>
+                <xml-property name="indexedProps" value="platform-name"/>
+                <xml-property name="uniqueProps" value="platform-name"/>
+                <xml-property name="container" value="platforms"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/platforms/platform/{platform-name}"/>
+            <xml-property name="requiredProps" value="platform-name"/>
+            </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.onap.org.v11.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.onap.org.v11.ServiceInstances">
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/service-subscriptions/service-subscription/{service-type}"/>
+            <xml-property name="requiredProps" value="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.onap.org.v11.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="serviceType" name="service-type" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing type of service."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceRole" name="service-role" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing the service role."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="environmentContext" name="environment-context" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field will store the environment context assigned to the service-instance."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="workloadContext" name="workload-context" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field will store the workload context assigned to the service-instance."/>
+                    </xml-properties>
+                </xml-element>
+                               <xml-element java-attribute="createdAt" name="created-at" required="false" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="create time of Network Service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="updatedAt" name="updated-at" required="false" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="last update of Network Service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="description" name="description" required="false" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="short description for service-instance."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <!-- for storing the nsd_id create edge between services -->
+                <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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v11.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v11.Metadata"/>
+                <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.org.v11.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,environment-context,workload-context"/>
+                <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-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+            <xml-property name="requiredProps" value="service-instance-id"/>
+            </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.onap.org.v11.VnfImages"/>
+                <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v11.Services"/>
+                <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v11.ServiceCapabilities"/>
+                <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v11.Models"/>
+                <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v11.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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{vnf-image-uuid}"/>
+            <xml-property name="requiredProps" value="vnf-image-uuid,application,application-vendor"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+            <xml-property name="requiredProps" value="service-id,service-description"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+            <xml-property name="requiredProps" value="service-type,vnf-type"/>
+            </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.onap.org.v11.LogicalLinks"/>
+                <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v11.SitePairSets"/>
+                <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v11.VpnBindings"/>
+                <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v11.VplsPes"/>
+                <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v11.MulticastConfigurations"/>
+                <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v11.Vces"/>
+                <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v11.Vnfcs"/>
+                <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v11.L3Networks"/>
+                <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v11.NetworkPolicies"/>
+                <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v11.GenericVnfs"/>
+                <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v11.LagLinks"/>
+                <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v11.Newvces"/>
+                <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v11.Pnfs"/>
+                <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v11.PhysicalLinks"/>
+                <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v11.IpsecConfigurations"/>
+                <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v11.RouteTableReferences"/>
+                <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v11.InstanceGroups"/>
+                <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.org.v11.Zones"/>
+                <xml-element java-attribute="configurations" name="configurations" type="inventory.aai.onap.org.v11.Configurations"/>
+            </java-attributes>
+        </java-type>
+        <java-type name="Configurations">
+            <xml-properties>
+                <xml-property name="description" value="Collection of configurations"/>
+            </xml-properties>
+            <xml-root-element name="configurations"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="configuration" name="configuration" type="inventory.aai.onap.org.v11.Configuration"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Configuration">
+            <xml-root-element name="configuration"/>
+            <java-attributes>
+                <xml-element java-attribute="configurationId" name="configuration-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID assigned to configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicates the entity that will manage this feature. Could be an organization or the name of the application as well."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="configurationName" name="configuration-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="configurationType" name="configuration-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="port-mirroring-configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="configurationSubType" name="configuration-sub-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="vprobe, pprobe."/>
+                    </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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="orchestrationStatus" name="orchestration-status" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of the configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalStatus" name="operational-status" required="true" 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="configurationSelflink" name="configuration-selflink" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details from SDN-GC."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelCustomizationId" name="model-customization-id" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="id of  the configuration used to customize the resource"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v11.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v11.Metadata"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Port Mirror Configuration."/>
+                <xml-property name="indexedProps" value="configuration-id,model-invariant-id,model-version-id"/>
+                <xml-property name="uniqueProps" value="configuration-id"/>
+                <xml-property name="container" value="configurations"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/configurations/configuration/{configuration-id}"/>
+            <xml-property name="requiredProps" value="configuration-id,configuration-type,configuration-sub-type,orchestration-status,operational-status,configuration-selflink,model-customization-id"/>
+            </xml-properties>
+        </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.onap.org.v11.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 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). 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="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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v11.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-property name="uriTemplate" value="/network/logical-links/logical-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name,in-maint,link-type"/>
+            </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.onap.org.v11.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.onap.org.v11.RoutingInstances"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+            <xml-property name="requiredProps" value="site-pair-set-id"/>
+            </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.onap.org.v11.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.onap.org.v11.SitePairs"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="routing-instance-id"/>
+                <xml-property name="dependentOn" value="site-pair-set"/>
+                <xml-property name="container" value="routing-instances"/>
+                <xml-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+            </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.onap.org.v11.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, UCPE, 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.onap.org.v11.ClassesOfService"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+            </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.onap.org.v11.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="vpnRegion" name="vpn-region" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="region of customer vpn"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="customerVpnId" name="customer-vpn-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="id for this customer vpn"/>
+                    </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.onap.org.v11.RouteTargets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+            <xml-property name="requiredProps" value="vpn-id,vpn-name"/>
+            </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.onap.org.v11.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.org.v11.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v11.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+            <xml-property name="requiredProps" value="equipment-name"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+            </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.onap.org.v11.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.onap.org.v11.PortGroups"/>
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v11.Licenses"/>
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v11.Entitlements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+            <xml-property name="requiredProps" value="vnf-id,vnf-name,vnf-type"/>
+            </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.onap.org.v11.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.onap.org.v11.CvlanTags"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+            <xml-property name="requiredProps" value="interface-id,orchestration-status"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag}"/>
+            </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.onap.org.v11.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="nfcNamingCode" name="nfc-naming-code" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Short code that is used in naming instances of the item being modeled"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nfcFunction" name="nfc-function" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service"/>
+                    </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" 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 default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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="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-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v11.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v11.L3InterfaceIpv6AddressList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id"/>
+                <xml-property name="searchable" value="vnfc-name"/>
+                <xml-property name="container" value="vnfcs"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+            </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.onap.org.v11.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" 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" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v11.Subnets"/>
+                <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v11.CtagAssignments"/>
+                <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v11.SegmentationAssignments"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+            <xml-property name="requiredProps" value="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+            </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.onap.org.v11.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" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" 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="subnetRole" name="subnet-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="role of the subnet, referenced when assigning IPs"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipAssignmentDirection" name="ip-assignment-direction" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ip address assignment direction of the subnet"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="subnetSequence" name="subnet-sequence" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="sequence of the subnet"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="hostRoutes" name="host-routes" type="inventory.aai.onap.org.v11.HostRoutes"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+            </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.onap.org.v11.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="vnfInstanceId" name="vnf-instance-id" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="vnf instance id."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName" name="vnf-name" 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="vnfPackageName" name="vnf-package-name" required="false" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value=""/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vnfDiscriptorName" name="vnf-discriptor-name" required="false" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="vnf discriptor name"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="jobId" name="job-id" required="false" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="job id corresponding to vnf"/>
+                    </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 ATT 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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 uCPE"/>
+                    </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 by uCPE"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nshd" name="nshd" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of associated SHD in vnf."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nvm" name="nvm" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of vms in vnf."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nnet" name="nnet" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of network in vnf."/>
+                    </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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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-property name="suggestibleOnSearch" value="true"/>
+                    </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-property name="suggestibleOnSearch" value="true"/>
+                    </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="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="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="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Temporary location for S-TAG to get to VCE"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nmProfileName" name="nm-profile-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Network Management profile of this VNF"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.LInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v11.LagInterfaces"/>
+                <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v11.VfModules"/>
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v11.Licenses"/>
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+            <xml-property name="requiredProps" value="vnf-id,vnf-type,in-maint,is-closed-loop-disabled"/>
+            </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.onap.org.v11.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" java-attribute="isBaseVfModule" name="is-base-vf-module" 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 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v11.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-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+            <xml-property name="requiredProps" value="vf-module-id,is-base-vf-module"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name"/>
+            </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.onap.org.v11.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v11.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+            <xml-property name="requiredProps" value="vnf-id2,vnf-name,vnf-type"/>
+            </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.onap.org.v11.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 ATT 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" 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). 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.onap.org.v11.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v11.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v11.LagInterfaces"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>
+                <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-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+            <xml-property name="requiredProps" value="pnf-name,in-maint"/>
+            </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.onap.org.v11.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="serviceProviderBandwidthUpValue" name="service-provider-bandwidth-up-value" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Upstream Bandwidth value agreed with the service provider"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceProviderBandwidthUpUnits" name="service-provider-bandwidth-up-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Units for the upstream BW value"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceProviderBandwidthDownValue" name="service-provider-bandwidth-down-value" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Downstream Bandwidth value agreed with the service provider"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceProviderBandwidthDownUnits" name="service-provider-bandwidth-down-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Units for downstream BW value"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v11.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-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+            <xml-property name="requiredProps" value="vig-address-type"/>
+            </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.onap.org.v11.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="ATT 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,ucpeHostName,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.onap.org.v11.RelationshipList"/>
+                <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+            <xml-property name="requiredProps" value="ipsec-configuration-id"/>
+            </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.onap.org.v11.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.onap.org.v11.ReservedPropNames"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v11.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="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+                <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+                <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+                <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+            </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.onap.org.v11.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-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-invariant-id}"/>
+            <xml-property name="requiredProps" value="model-invariant-id,model-type"/>
+            </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.onap.org.v11.ModelVers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/model-vers/model-ver/{model-version-id}"/>
+            <xml-property name="requiredProps" value="model-version-id,model-name,model-version"/>
+            </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.onap.org.v11.ModelElements"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v11.Metadata"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+            <xml-property name="requiredProps" value="model-element-uuid,new-data-del-flag,cardinality"/>
+            </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.onap.org.v11.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.onap.org.v11.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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+            <xml-property name="requiredProps" value="model-constraint-uuid,constrained-element-set-uuid-to-replace"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+            <xml-property name="requiredProps" value="constrained-element-set-uuid,constraint-type,check-type"/>
+            </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.onap.org.v11.ElementChoiceSets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+            <xml-property name="requiredProps" value="element-choice-set-uuid,element-choice-set-name"/>
+            </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.onap.org.v11.ModelElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+            <xml-property name="requiredProps" value="named-query-uuid,named-query-name,named-query-version"/>
+            </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.onap.org.v11.NamedQueryElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+            <xml-property name="requiredProps" value="named-query-element-uuid"/>
+            </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.onap.org.v11.NamedQueryElements"/>
+                <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v11.RelatedLookups"/>
+                <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v11.PropertyConstraints"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+            <xml-property name="requiredProps" value="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+            <xml-property name="requiredProps" value="property-constraint-uuid,constraint-type,property-name,property-value"/>
+            </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.onap.org.v11.QueryParameters"/>
+                <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v11.InstanceFilters"/>
+                <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.onap.org.v11.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.onap.org.v11.NamedQuery"/>
+                <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v11.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-property name="requiredProps" value="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version"/>
+            </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.onap.org.v11.ModelVers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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.onap.org.v11.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.onap.org.v11.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.onap.org.v11.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.onap.org.v11.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.onap.org.v11.ExtraProperties"/>
+                <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v11.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.onap.org.v11.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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+            <xml-property name="requiredProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+            </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.onap.org.v11.InstanceGroup"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="InstanceGroup">
+            <xml-root-element name="instance-group"/>
+            <java-attributes>
+                <xml-element java-attribute="instanceGroupRole" name="instance-group-role" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="role of the instance group."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="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" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ASDC model version uid for this resource 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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="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-property name="dbAlias" value="instance-group-type"/>
+                    </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.onap.org.v11.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="searchable" value="id,description"/>
+                <xml-property name="indexedProps" value="id,description,type,sub-type"/>
+                <xml-property name="container" value="instance-groups"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/instance-groups/instance-group/{id}"/>
+            <xml-property name="requiredProps" value="id,description,type"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+            <xml-property name="requiredProps" value="segmentation-id"/>
+            </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.onap.org.v11.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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v11.TunnelXconnects"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v11.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-property name="uriTemplate" value="/allotted-resources/allotted-resource/{id}"/>
+            <xml-property name="requiredProps" value="id"/>
+            </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.onap.org.v11.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" 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" 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" 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" 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.onap.org.v11.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-property name="uriTemplate" value="/tunnel-xconnects/tunnel-xconnect/{id}"/>
+            <xml-property name="requiredProps" value="id"/>
+            </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.onap.org.v11.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.onap.org.v11.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"/>
+                <xml-property name="container" value="entitlements"/>
+                <xml-property name="uriTemplate" value="/entitlements/entitlement/{group-uuid}/{resource-uuid}"/>
+            <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+            </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.onap.org.v11.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.onap.org.v11.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"/>
+                <xml-property name="container" value="licenses"/>
+                <xml-property name="uriTemplate" value="/licenses/license/{group-uuid}/{resource-uuid}"/>
+            <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+            </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,generic-vnf"/>
+                <xml-property name="abstract" value="true"/>
+            <xml-property name="requiredProps" value="vnf-id"/>
+            </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.onap.org.v11.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.onap.org.v11.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-property name="uriTemplate" value="/network/zones/zone/{zone-id}"/>
+            <xml-property name="requiredProps" value="zone-id,zone-name,design-type,zone-context"/>
+            </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.onap.org.v11.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" type="java.lang.String" xml-key="true">
+                    <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" type="java.lang.String" xml-key="true">
+                    <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.onap.org.v11.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-property name="uriTemplate" value="/route-targets/route-target/{global-route-target}/{route-target-role}"/>
+            <xml-property name="requiredProps" value="global-route-target,route-target-role"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="SriovPfs">
+            <xml-properties>
+                <xml-property name="description" value="Collection of SR-IOV Physical Functions."/>
+            </xml-properties>
+            <xml-root-element name="sriov-pfs"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="sriovPf" name="sriov-pf" type="inventory.aai.onap.org.v11.SriovPf"/>
+            </java-attributes>
+        </java-type>
+        <java-type name="SriovPf">
+            <xml-root-element name="sriov-pf"/>
+            <java-attributes>
+                <xml-element java-attribute="pfPciId" name="pf-pci-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Identifier for the sriov-pf"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v11.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="SR-IOV Physical Function"/>
+                <xml-property name="indexedProps" value="pf-pci-id"/>
+                <xml-property name="dependentOn" value="p-interface"/>
+                <xml-property name="container" value="sriov-pfs"/>
+                <xml-property name="uriTemplate" value="/sriov-pfs/sriov-pf/{pf-pci-id}"/>
+            <xml-property name="requiredProps" value="pf-pci-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="HostRoutes">
+            <xml-root-element name="host-routes"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="hostRoute" name="host-route" type="inventory.aai.onap.org.v11.HostRoute"/>
+            </java-attributes>
+        </java-type>
+        <java-type name="HostRoute">
+            <xml-root-element name="host-route"/>
+            <java-attributes>
+                <xml-element java-attribute="hostRouteId" name="host-route-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="host-route id"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routePrefix" name="route-prefix" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="subnet prefix"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nextHop" name="next-hop" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Could be ip-address, hostname, or service-instance"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nextHopType" name="next-hop-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Should be ip-address, hostname, or service-instance to match next-hop"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v11.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="host-route-id"/>
+                <xml-property name="dependentOn" value="subnet"/>
+                <xml-property name="container" value="host-routes"/>
+                <xml-property name="uriTemplate" value="/host-routes/host-route/{host-route-id}"/>
+            </xml-properties>
+        </java-type>
+        <java-type name="VipIpv4AddressList">
+            <xml-root-element name="vip-ipv4-address-list"/>
+            <java-attributes>
+                <xml-element java-attribute="vipIpv4Address" name="vip-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="vipIpv4PrefixLength" name="vip-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.onap.org.v11.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="IPv4 Address Range"/>
+                <xml-property name="indexedProps" value="vip-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+            <xml-property name="uriTemplate" value="/vip-ipv4-address-list/{vip-ipv4-address}"/>
+            <xml-property name="requiredProps" value="vip-ipv4-address"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VipIpv6AddressList">
+            <xml-root-element name="vip-ipv6-address-list"/>
+            <java-attributes>
+                <xml-element java-attribute="vipIpv6Address" name="vip-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="vipIpv6PrefixLength" name="vip-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.onap.org.v11.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="IPv6 Address Range"/>
+                <xml-property name="indexedProps" value="vip-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+            <xml-property name="uriTemplate" value="/vip-ipv6-address-list/{vip-ipv6-address}"/>
+            <xml-property name="requiredProps" value="vip-ipv6-address"/>
+            </xml-properties>
+        </java-type>
+    </java-types>
+</xml-bindings>
diff --git a/aai-schema/src/main/resources/onap/oxm/v12/aai_oxm_v12.xml b/aai-schema/src/main/resources/onap/oxm/v12/aai_oxm_v12.xml
new file mode 100644 (file)
index 0000000..3d984fc
--- /dev/null
@@ -0,0 +1,6987 @@
+<!--
+  ============LICENSE_START=======================================================
+  org.onap.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=========================================================
+  --><xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v12" xml-mapping-metadata-complete="true">
+    <xml-schema element-form-default="QUALIFIED">
+        <xml-ns namespace-uri="http://org.onap.aai.inventory/v12"/>
+    </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.onap.org.v12.Search"/>
+                <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v12.Actions"/>
+                <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v12.CloudInfrastructure"/>
+                               <xml-element java-attribute="externalSystem" name="external-system" type="inventory.aai.onap.org.v12.ExternalSystem"/>
+                <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v12.Business"/>
+                <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v12.ServiceDesignAndCreation"/>
+                <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v12.Network"/>
+                <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v12.AaiInternal"/>
+                <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.onap.org.v12.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.onap.org.v12.EdgeTagQueryResult"/>
+                <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v12.EdgeTagQueryRequest"/>
+                <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v12.SearchResults"/>
+                <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v12.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.onap.org.v12.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.onap.org.v12.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.onap.org.v12.InventoryItemData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v12.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.onap.org.v12.StartNodeFilter"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v12.IncludeNodeFilter"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v12.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.onap.org.v12.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.onap.org.v12.OamNetworks"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v12.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.onap.org.v12.DvsSwitches"/>
+                <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v12.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.onap.org.v12.Update"/>
+                <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v12.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-property name="requiredProps" value="update-node-type"/>
+            </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.onap.org.v12.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.onap.org.v12.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.onap.org.v12.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.onap.org.v12.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="ExternalSystem">
+                       <xml-properties>
+                               <xml-property name="description" value="Namespace for external system."/>
+                       </xml-properties>
+                       <xml-root-element name="external-system"/>
+                       <java-attributes>
+                               <xml-element java-attribute="esrEmsList" name="esr-ems-list" type="inventory.aai.onap.org.v12.EsrEmsList"/>
+                               <xml-element java-attribute="esrVnfmList" name="esr-vnfm-list" type="inventory.aai.onap.org.v12.EsrVnfmList"/>
+                               <xml-element java-attribute="esrThirdpartySdncList" name="esr-thirdparty-sdnc-list" type="inventory.aai.onap.org.v12.EsrThirdpartySdncList"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="EsrEmsList">
+                       <xml-root-element name="esr-ems-list"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrEms" name="esr-ems" type="inventory.aai.onap.org.v12.EsrEms"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrEms">
+                       <xml-root-element name="esr-ems"/>
+                       <java-attributes>
+                               <xml-element java-attribute="emsId" name="ems-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of EMS."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v12.EsrSystemInfoList"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist EMS address information used by EMS driver."/>
+                               <xml-property name="indexedProps" value="ems-id"/>
+                               <xml-property name="searchable" value="ems-id"/>
+                               <xml-property name="container" value="esr-ems-list"/>
+                               <xml-property name="namespace" value="external-system"/>
+                       <xml-property name="requiredProps" value="ems-id"/>
+            <xml-property name="uriTemplate" value="/external-system/esr-ems-list/esr-ems/{ems-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="EsrVnfmList">
+                       <xml-root-element name="esr-vnfm-list"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrVnfm" name="esr-vnfm" type="inventory.aai.onap.org.v12.EsrVnfm"/>
+                       </java-attributes>
+            <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrVnfm">
+                       <xml-root-element name="esr-vnfm"/>
+                       <java-attributes>
+                               <xml-element java-attribute="vnfmId" name="vnfm-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of VNFM."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vimId" name="vim-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="indecate the VIM to deploy VNF."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="certificateUrl" name="certificate-url" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="certificate url of VNFM."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v12.EsrSystemInfoList"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist VNFM address information used by VF-C."/>
+                               <xml-property name="indexedProps" value="vnfm-id"/>
+                               <xml-property name="searchable" value="vnfm-id"/>
+                               <xml-property name="container" value="esr-vnfm-list"/>
+                               <xml-property name="namespace" value="external-system"/>
+                       <xml-property name="requiredProps" value="vnfm-id"/>
+            <xml-property name="uriTemplate" value="/external-system/esr-vnfm-list/esr-vnfm/{vnfm-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="EsrThirdpartySdncList">
+                       <xml-root-element name="esr-thirdparty-sdnc-list"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrThirdpartySdnc" name="esr-thirdparty-sdnc" type="inventory.aai.onap.org.v12.EsrThirdpartySdnc"/>
+                       </java-attributes>
+            <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrThirdpartySdnc">
+                       <xml-root-element name="esr-thirdparty-sdnc"/>
+                       <java-attributes>
+                               <xml-element java-attribute="thirdpartySdncId" name="thirdparty-sdnc-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of SDNC."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="location" name="location" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="used for DC type to indicate the location of SDNC, such as Core or Edge."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="productName" name="product-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="password used to access SDNC 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="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v12.EsrSystemInfoList"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist SDNC address information used by ONAP SDNC."/>
+                               <xml-property name="indexedProps" value="sdnc-id"/>
+                               <xml-property name="searchable" value="sdnc-id"/>
+                               <xml-property name="container" value="esr-thirdparty-sdnc-list"/>
+                               <xml-property name="namespace" value="external-system"/>
+                       <xml-property name="requiredProps" value="thirdparty-sdnc-id"/>
+            <xml-property name="uriTemplate" value="/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/{thirdparty-sdnc-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="EsrSystemInfoList">
+                       <xml-root-element name="esr-system-info-list"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of persistent block-level external system auth info."/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrSystemInfo" name="esr-system-info" type="inventory.aai.onap.org.v12.EsrSystemInfo"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrSystemInfo">
+                       <xml-root-element name="esr-system-info"/>
+                       <java-attributes>
+                               <xml-element java-attribute="esrSystemInfoId" name="esr-system-info-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of esr system info."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemName" name="system-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="name of external system."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="type" name="type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="type of external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vendor" name="vendor" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="vendor of external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="version" name="version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="version of external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serviceUrl" name="service-url" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="url used to access external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="userName" name="user-name" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="username used to access external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="password" name="password" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="password used to access external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemType" name="system-type" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="it could be vim/vnfm/thirdparty-sdnc/ems-resource/ems-performance/ems-alarm."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="protocol" name="protocol" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="protocol of third party SDNC, for example netconf/snmp."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="sslCacert" name="ssl-cacert" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ca file content if enabled ssl on auth-url."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element default-value="false" java-attribute="sslInsecure" name="ssl-insecure" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Whether to verify VIM's certificate."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipAddress" name="ip-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="service IP of ftp server."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="port" name="port" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="service port of ftp server."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cloudDomain" name="cloud-domain" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="domain info for authentication."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="defaultTenant" name="default-tenant" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="default tenant of VIM."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="passive" name="passive" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ftp passive mode or not."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="remotepath" name="remote-path" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="resource or performance data file path."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemStatus" name="system-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the status of external system."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v12.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist common address information of external systems."/>
+                               <xml-property name="indexedProps" value="esr-system-info-id,system-name,system-type"/>
+                               <xml-property name="searchable" value="esr-system-info-id,system-name,system-type"/>
+                               <xml-property name="container" value="esr-system-info-list"/>
+                               <xml-property name="dependentOn" value="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc"/>
+                       <xml-property name="requiredProps" value="esr-system-info-id,user-name,password,system-type"/>
+            <xml-property name="uriTemplate" value="/esr-system-info-list/esr-system-info/{esr-system-info-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="HpaCapabilities">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of HPA Capabilities"/>
+                       </xml-properties>
+                       <xml-root-element name="hpa-capabilities"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="hpaCapability" name="hpa-capability" type="inventory.aai.onap.org.v12.HpaCapability"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="HpaCapability">
+                       <xml-root-element name="hpa-capability"/>
+                       <java-attributes>
+                               <xml-element java-attribute="hpaCapabilityId" name="hpa-capability-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="UUID to uniquely identify a HPA capability"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="hpaFeature" name="hpa-feature" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Name of the HPACapability"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="hpaVersion" name="hpa-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="HPA schema version"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="architecture" name="architecture" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Hardware architecture"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v12.RelationshipList"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="hpaFeatureAttributes" name="hpa-feature-attributes" type="inventory.aai.onap.org.v12.HpaFeatureAttributes"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Represents a HPA capability"/>
+                               <xml-property name="indexedProps" value="hpa-feature,architecture,hpa-capability-id"/>
+                               <xml-property name="dependentOn" value="flavor,cloud-region"/>
+                               <xml-property name="container" value="hpa-capabilities"/>
+                       <xml-property name="requiredProps" value="hpa-capability-id,hpa-feature"/>
+            <xml-property name="uriTemplate" value="/hpa-capabilities/hpa-capability/{hpa-capability-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="HpaFeatureAttributes">
+                       <xml-root-element name="hpa-feature-attributes"/>
+                       <java-attributes>
+                               <xml-element java-attribute="hpaAttributeKey" name="hpa-attribute-key" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="name of the specific HPA attribute"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="hpaAttributeValue" name="hpa-attribute-value" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="JSON string specifying the value, unit and type of the specific HPA attribute"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v12.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="HPA Capability Feature attributes"/>
+                               <xml-property name="indexedProps" value="hpa-attribute-key"/>
+                               <xml-property name="dependentOn" value="hpa-capability"/>
+                       <xml-property name="requiredProps" value="hpa-attribute-key"/>
+            </xml-properties>
+               </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.onap.org.v12.Complexes"/>
+                <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v12.CloudRegions"/>
+                <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v12.NetworkProfiles"/>
+                <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v12.Pservers"/>
+                <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v12.VirtualDataCenters"/>
+                <xml-element java-attribute="operationalEnvironments" name="operational-environments" type="inventory.aai.onap.org.v12.OperationalEnvironments"/>
+            </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.onap.org.v12.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="sriovAutomation" name="sriov-automation" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Whether the cloud region supports (true) or does not support (false) SR-IOV automation."/>
+                    </xml-properties>
+                </xml-element>
+                               <xml-element java-attribute="cloudExtraInfo" name="cloud-extra-info" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ESR inputs extra information about the VIM or Cloud which will be decoded by MultiVIM."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cloudEpaCaps" name="cloud-epa-caps" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="MultiVIM will discover and expose EPA capabilities."/>
+                                       </xml-properties>
+                               </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v12.VolumeGroups"/>
+                <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v12.Tenants"/>
+                <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v12.Flavors"/>
+                <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v12.GroupAssignments"/>
+                <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v12.Snapshots"/>
+                <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v12.Images"/>
+                <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v12.DvsSwitches"/>
+                <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v12.OamNetworks"/>
+                <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v12.AvailabilityZones"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv4AddressList" name="vip-ipv4-address-list" type="inventory.aai.onap.org.v12.VipIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv6AddressList" name="vip-ipv6-address-list" type="inventory.aai.onap.org.v12.VipIpv6AddressList"/>
+                               <xml-element java-attribute="hpaCapabilities" name="hpa-capabilities" type="inventory.aai.onap.org.v12.HpaCapabilities">
+                                       <xml-properties>
+                                               <xml-property name="description" value="List of cloud-region specific HPA Capabilities"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v12.EsrSystemInfoList"/>
+            </java-attributes>
+            <xml-properties>
+                               <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation."/>
+                <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-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+            <xml-property name="requiredProps" value="cloud-owner,cloud-region-id"/>
+            </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.onap.org.v12.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" 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.onap.org.v12.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-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+            <xml-property name="requiredProps" value="volume-group-id,vnf-type"/>
+            </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.onap.org.v12.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="relationshipLabel" name="relationship-label" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The edge label for this relationship."/>
+                    </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.onap.org.v12.RelationshipData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v12.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.onap.org.v12.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.onap.org.v12.CtagPools"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+            <xml-property name="requiredProps" value="physical-location-id,physical-location-type,street1,city,postal-code,country,region"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+            <xml-property name="requiredProps" value="target-pe,availability-zone-name,ctag-pool-purpose"/>
+            </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.onap.org.v12.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="tenantContext" name="tenant-context" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field will store the tenant context."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v12.Vservers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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,tenant-context"/>
+                <xml-property name="searchable" value="tenant-id,tenant-name"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+                <xml-property name="container" value="tenants"/>
+                <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+            <xml-property name="requiredProps" value="tenant-id,tenant-name"/>
+            </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.onap.org.v12.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" 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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v12.Volumes"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+            <xml-property name="requiredProps" value="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled"/>
+            </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.onap.org.v12.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="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="allowedAddressPairs" name="allowed-address-pairs" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Freeform field for storing an ip address, list of ip addresses or a subnet block."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.onap.org.v12.Vlans"/>
+                <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v12.SriovVfs"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v12.LInterfaces"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v12.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v12.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,p-interface,vserver,lag-interface,l-interface"/>
+                <xml-property name="container" value="l-interfaces"/>
+                <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,is-port-mirrored,in-maint,is-ip-unnumbered"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+            <xml-property name="requiredProps" value="pci-id"/>
+            </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.onap.org.v12.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,vnfc"/>
+            <xml-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+            <xml-property name="requiredProps" value="l3-interface-ipv4-address"/>
+            </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.onap.org.v12.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="vpnKey" name="vpn-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan"/>
+                    </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="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v12.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v12.L3InterfaceIpv6AddressList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Definition of vlan"/>
+                <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key"/>
+                <xml-property name="dependentOn" value="l-interface"/>
+                <xml-property name="container" value="vlans"/>
+                <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+            <xml-property name="requiredProps" value="vlan-interface,in-maint,is-ip-unnumbered"/>
+            </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.onap.org.v12.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,vnfc"/>
+            <xml-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+            <xml-property name="requiredProps" value="l3-interface-ipv6-address"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+            <xml-property name="requiredProps" value="volume-id,volume-selflink"/>
+            </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.onap.org.v12.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="hpaCapabilities" name="hpa-capabilities" type="inventory.aai.onap.org.v12.HpaCapabilities">
+                                       <xml-properties>
+                                               <xml-property name="description" value="List of flavor specific HPA Capabilities"/>
+                                       </xml-properties>
+                               </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v12.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-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+            <xml-property name="requiredProps" value="flavor-id,flavor-name,flavor-selflink"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+            <xml-property name="requiredProps" value="snapshot-id"/>
+            </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.onap.org.v12.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.onap.org.v12.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="searchable" value="group-id,group-name"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+                <xml-property name="container" value="group-assignments"/>
+                <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+            <xml-property name="requiredProps" value="group-id,group-type,group-name"/>
+            </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.onap.org.v12.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.onap.org.v12.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/images/image/{image-id}"/>
+            <xml-property name="requiredProps" value="image-id,image-name,image-os-distro,image-os-version,image-selflink"/>
+            </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.onap.org.v12.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-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+            <xml-property name="requiredProps" value="metaname,metaval"/>
+            </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 GenericVnfs."/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+            <xml-property name="requiredProps" value="switch-name,vcenter-url"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+            <xml-property name="requiredProps" value="nm-profile-name"/>
+            </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.onap.org.v12.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" 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). 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="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicates who owns and or manages the device."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="hostProfile" name="host-profile" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The host profile that defines the configuration of the pserver."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v12.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v12.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="uniqueProps" value="hostname"/>
+                <xml-property name="container" value="pservers"/>
+                <xml-property name="namespace" value="cloud-infrastructure"/>
+                <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+            <xml-property name="requiredProps" value="hostname,in-maint"/>
+            </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.onap.org.v12.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="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="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="macAddress" name="mac-addresss" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="MAC Address of the p-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 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="invStatus" name="inv-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="inventory status"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+                <xml-element java-attribute="sriovPfs" name="sriov-pfs" type="inventory.aai.onap.org.v12.SriovPfs"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,in-maint"/>
+            </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.onap.org.v12.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.onap.org.v12.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v12.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,vpls-pe,pnf"/>
+                <xml-property name="container" value="lag-interfaces"/>
+                <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,in-maint"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+            <xml-property name="requiredProps" value="network-uuid,network-name,cvlan-tag"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+            <xml-property name="requiredProps" value="availability-zone-name,hypervisor-type"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+            <xml-property name="requiredProps" value="vdc-id,vdc-name"/>
+            </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.onap.org.v12.Connectors"/>
+                <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v12.Customers"/>
+                <xml-element java-attribute="linesOfBusiness" name="lines-of-business" type="inventory.aai.onap.org.v12.LinesOfBusiness"/>
+                <xml-element java-attribute="owningEntities" name="owning-entities" type="inventory.aai.onap.org.v12.OwningEntities"/>
+                <xml-element java-attribute="platforms" name="platforms" type="inventory.aai.onap.org.v12.Platforms"/>
+                <xml-element java-attribute="projects" name="projects" type="inventory.aai.onap.org.v12.Projects"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Projects">
+            <xml-properties>
+                <xml-property name="description" value="Collection of projects"/>
+            </xml-properties>
+            <xml-root-element name="projects"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="project" name="project" type="inventory.aai.onap.org.v12.Project"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Project">
+            <xml-root-element name="project"/>
+            <java-attributes>
+                <xml-element java-attribute="projectName" name="project-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the project deploying a 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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes the project"/>
+                <xml-property name="indexedProps" value="project-name"/>
+                <xml-property name="uniqueProps" value="project-name"/>
+                <xml-property name="container" value="projects"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/projects/project/{project-name}"/>
+            <xml-property name="requiredProps" value="project-name"/>
+            </xml-properties>
+        </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.onap.org.v12.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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v12.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+            <xml-property name="requiredProps" value="resource-instance-id"/>
+            </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.onap.org.v12.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.onap.org.v12.ServiceSubscriptions"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+            <xml-property name="requiredProps" value="global-customer-id,subscriber-name,subscriber-type"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="LinesOfBusiness">
+            <xml-properties>
+                <xml-property name="description" value="Collection of lines-of-business"/>
+            </xml-properties>
+            <xml-root-element name="lines-of-business"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="lineOfBusiness" name="line-of-business" type="inventory.aai.onap.org.v12.LineOfBusiness"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="LineOfBusiness">
+            <xml-root-element name="line-of-business"/>
+            <java-attributes>
+                <xml-element java-attribute="lineOfBusinessName" name="line-of-business-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the line-of-business (product)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v12.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes a line-of-business"/>
+                <xml-property name="indexedProps" value="line-of-business-name"/>
+                <xml-property name="uniqueProps" value="line-of-business-name"/>
+                <xml-property name="container" value="lines-of-business"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/lines-of-business/line-of-business/{line-of-business-name}"/>
+            <xml-property name="requiredProps" value="line-of-business-name"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="OwningEntities">
+            <xml-properties>
+                <xml-property name="description" value="Collection of owning-entities"/>
+            </xml-properties>
+            <xml-root-element name="owning-entities"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="owningEntity" name="owning-entity" type="inventory.aai.onap.org.v12.OwningEntity"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="OwningEntity">
+            <xml-root-element name="owning-entity"/>
+            <java-attributes>
+                <xml-element java-attribute="owningEntityId" name="owning-entity-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of an owning entity"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="owningEntityName" name="owning-entity-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Owning entity name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v12.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes an owning-entity"/>
+                <xml-property name="indexedProps" value="owning-entity-id,owning-entity-name"/>
+                <xml-property name="searchable" value="owning-entity-id"/>
+                <xml-property name="uniqueProps" value="owning-entity-id,owning-entity-name"/>
+                <xml-property name="container" value="owning-entities"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/owning-entities/owning-entity/{owning-entity-id}"/>
+            <xml-property name="requiredProps" value="owning-entity-id,owning-entity-name"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Platforms">
+            <xml-properties>
+                <xml-property name="description" value="Collection of platforms"/>
+            </xml-properties>
+            <xml-root-element name="platforms"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="platform" name="platform" type="inventory.aai.onap.org.v12.Platform"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Platform">
+            <xml-root-element name="platform"/>
+            <java-attributes>
+                <xml-element java-attribute="platformName" name="platform-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the platform"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v12.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes a platform"/>
+                <xml-property name="indexedProps" value="platform-name"/>
+                <xml-property name="uniqueProps" value="platform-name"/>
+                <xml-property name="container" value="platforms"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/platforms/platform/{platform-name}"/>
+            <xml-property name="requiredProps" value="platform-name"/>
+            </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.onap.org.v12.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.onap.org.v12.ServiceInstances">
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/service-subscriptions/service-subscription/{service-type}"/>
+            <xml-property name="requiredProps" value="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.onap.org.v12.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="serviceType" name="service-type" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing type of service."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceRole" name="service-role" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing the service role."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="environmentContext" name="environment-context" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field will store the environment context assigned to the service-instance."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="workloadContext" name="workload-context" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field will store the workload context assigned to the service-instance."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="createdAt" name="created-at" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="create time of Network Service."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="updatedAt" name="updated-at" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="last update of Network Service."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="description" name="description" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="short description for service-instance."/>
+                    </xml-properties>
+                </xml-element>
+                <!-- for storing the nsd_id create edge between services -->
+                <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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v12.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v12.Metadata"/>
+                <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.org.v12.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,environment-context,workload-context"/>
+                <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-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+            <xml-property name="requiredProps" value="service-instance-id"/>
+            </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.onap.org.v12.VnfImages"/>
+                <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v12.Services"/>
+                <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v12.ServiceCapabilities"/>
+                <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v12.Models"/>
+                <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v12.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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{vnf-image-uuid}"/>
+            <xml-property name="requiredProps" value="vnf-image-uuid,application,application-vendor"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+            <xml-property name="requiredProps" value="service-id,service-description"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+            <xml-property name="requiredProps" value="service-type,vnf-type"/>
+            </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.onap.org.v12.LogicalLinks"/>
+                <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v12.SitePairSets"/>
+                <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v12.VpnBindings"/>
+                <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v12.VplsPes"/>
+                <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v12.MulticastConfigurations"/>
+                <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v12.Vces"/>
+                <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v12.Vnfcs"/>
+                <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v12.L3Networks"/>
+                <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v12.NetworkPolicies"/>
+                <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v12.GenericVnfs"/>
+                <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v12.LagLinks"/>
+                <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v12.Newvces"/>
+                <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v12.Pnfs"/>
+                <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v12.PhysicalLinks"/>
+                <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v12.IpsecConfigurations"/>
+                <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v12.RouteTableReferences"/>
+                <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v12.InstanceGroups"/>
+                <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.org.v12.Zones"/>
+                <xml-element java-attribute="configurations" name="configurations" type="inventory.aai.onap.org.v12.Configurations"/>
+                <xml-element java-attribute="forwardingPaths" name="forwarding-paths" type="inventory.aai.onap.org.v12.ForwardingPaths"/>
+            </java-attributes>
+        </java-type>
+        <java-type name="Configurations">
+            <xml-properties>
+                <xml-property name="description" value="Collection of configurations"/>
+            </xml-properties>
+            <xml-root-element name="configurations"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="configuration" name="configuration" type="inventory.aai.onap.org.v12.Configuration"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Configuration">
+            <xml-root-element name="configuration"/>
+            <java-attributes>
+                <xml-element java-attribute="configurationId" name="configuration-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID assigned to configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicates the entity that will manage this feature. Could be an organization or the name of the application as well."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="configurationName" name="configuration-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="configurationType" name="configuration-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="port-mirroring-configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="configurationSubType" name="configuration-sub-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="vprobe, pprobe."/>
+                    </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Orchestration status of the configuration."/>
+                    </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="configurationSelflink" name="configuration-selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details from SDN-GC."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="id of  the configuration used to customize the resource"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tunnelBandwidth" name="tunnel-bandwidth" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="DHV Site Effective Bandwidth"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vendorAllowedMaxBandwidth" name="vendor-allowed-max-bandwidth" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Velocloud Nominal Throughput - VNT"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v12.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v12.Metadata"/>
+                <xml-element java-attribute="forwarderEvcs" name="forwarder-evcs" type="inventory.aai.onap.org.v12.ForwarderEvcs"/>
+                <xml-element java-attribute="evcs" name="evcs" type="inventory.aai.onap.org.v12.Evcs"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Generic configuration object."/>
+                <xml-property name="indexedProps" value="configuration-id,model-invariant-id,model-version-id"/>
+                <xml-property name="uniqueProps" value="configuration-id"/>
+                <xml-property name="container" value="configurations"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/configurations/configuration/{configuration-id}"/>
+            <xml-property name="requiredProps" value="configuration-id,configuration-type,configuration-sub-type"/>
+            </xml-properties>
+        </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.onap.org.v12.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 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). 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="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 (should be att-ip-version)"/>
+                    </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v12.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-property name="uriTemplate" value="/network/logical-links/logical-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name,in-maint,link-type"/>
+            </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.onap.org.v12.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.onap.org.v12.RoutingInstances"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+            <xml-property name="requiredProps" value="site-pair-set-id"/>
+            </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.onap.org.v12.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.onap.org.v12.SitePairs"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="routing-instance-id"/>
+                <xml-property name="dependentOn" value="site-pair-set"/>
+                <xml-property name="container" value="routing-instances"/>
+                <xml-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+            </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.onap.org.v12.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, UCPE, 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.onap.org.v12.ClassesOfService"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+            </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.onap.org.v12.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="vpnRegion" name="vpn-region" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="region of customer vpn"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="customerVpnId" name="customer-vpn-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="id for this customer vpn"/>
+                    </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.onap.org.v12.RouteTargets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+            <xml-property name="requiredProps" value="vpn-id,vpn-name"/>
+            </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.onap.org.v12.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.org.v12.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v12.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+            <xml-property name="requiredProps" value="equipment-name"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+            </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.onap.org.v12.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.onap.org.v12.PortGroups"/>
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v12.Licenses"/>
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v12.Entitlements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+            <xml-property name="requiredProps" value="vnf-id,vnf-name,vnf-type"/>
+            </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.onap.org.v12.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.onap.org.v12.CvlanTags"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+            <xml-property name="requiredProps" value="interface-id,orchestration-status"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag}"/>
+            </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.onap.org.v12.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="nfcNamingCode" name="nfc-naming-code" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Short code that is used in naming instances of the item being modeled"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nfcFunction" name="nfc-function" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service"/>
+                    </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" 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 default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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="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-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v12.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v12.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v12.L3InterfaceIpv6AddressList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id"/>
+                <xml-property name="searchable" value="vnfc-name"/>
+                <xml-property name="container" value="vnfcs"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+            </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.onap.org.v12.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" 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" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v12.Subnets"/>
+                <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v12.CtagAssignments"/>
+                <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v12.SegmentationAssignments"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+            <xml-property name="requiredProps" value="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+            </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.onap.org.v12.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" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" 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="subnetRole" name="subnet-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="role of the subnet, referenced when assigning IPs"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipAssignmentDirection" name="ip-assignment-direction" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ip address assignment direction of the subnet"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="subnetSequence" name="subnet-sequence" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="sequence of the subnet"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="hostRoutes" name="host-routes" type="inventory.aai.onap.org.v12.HostRoutes"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+            </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.onap.org.v12.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="vnfInstanceId" name="vnf-instance-id" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="vnf instance id."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName" name="vnf-name" 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="vnfPackageName" name="vnf-package-name" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value=""/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfDiscriptorName" name="vnf-discriptor-name" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="vnf discriptor name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="jobId" name="job-id" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="job id corresponding to vnf"/>
+                    </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 ATT 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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 uCPE"/>
+                    </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 by uCPE"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nshd" name="nshd" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of associated SHD in vnf."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nvm" name="nvm" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of vms in vnf."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nnet" name="nnet" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of network in vnf."/>
+                    </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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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-property name="suggestibleOnSearch" value="true"/>
+                    </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-property name="suggestibleOnSearch" value="true"/>
+                    </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="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="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="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Temporary location for S-TAG to get to VCE"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nmProfileName" name="nm-profile-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Network Management profile of this VNF"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v12.LInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v12.LagInterfaces"/>
+                <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v12.VfModules"/>
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v12.Licenses"/>
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+            <xml-property name="requiredProps" value="vnf-id,vnf-type,in-maint,is-closed-loop-disabled"/>
+            </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.onap.org.v12.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" java-attribute="isBaseVfModule" name="is-base-vf-module" 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 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v12.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-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+            <xml-property name="requiredProps" value="vf-module-id,is-base-vf-module"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name"/>
+            </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.onap.org.v12.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v12.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+            <xml-property name="requiredProps" value="vnf-id2,vnf-name,vnf-type"/>
+            </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.onap.org.v12.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="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="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 ATT 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" 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). 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.onap.org.v12.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v12.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v12.LagInterfaces"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>
+                <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-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+            <xml-property name="requiredProps" value="pnf-name,in-maint"/>
+            </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.onap.org.v12.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="serviceProviderBandwidthUpValue" name="service-provider-bandwidth-up-value" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Upstream Bandwidth value agreed with the service provider"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceProviderBandwidthUpUnits" name="service-provider-bandwidth-up-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Units for the upstream BW value"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceProviderBandwidthDownValue" name="service-provider-bandwidth-down-value" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Downstream Bandwidth value agreed with the service provider"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceProviderBandwidthDownUnits" name="service-provider-bandwidth-down-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Units for downstream BW value"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v12.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-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+            <xml-property name="requiredProps" value="vig-address-type"/>
+            </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.onap.org.v12.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="ATT 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,ucpeHostName,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.onap.org.v12.RelationshipList"/>
+                <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+            <xml-property name="requiredProps" value="ipsec-configuration-id"/>
+            </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.onap.org.v12.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.onap.org.v12.ReservedPropNames"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v12.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,aai-uri,aai-uuid"/>
+                <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri,aai-uuid"/>
+            </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"/>
+                <xml-element java-attribute="aaiUuid" name="aai-uuid" 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="aaiUuid,edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV"/>
+                <xml-property name="uniqueProps" value="aai-uuid"/>
+                <xml-property name="indexedProps" value="aai-uuid"/>
+            </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="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+                <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+                <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+                <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+                <xml-element java-attribute="aaiUuid" name="aai-uuid" type="java.lang.String"/>
+            </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.onap.org.v12.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-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-invariant-id}"/>
+            <xml-property name="requiredProps" value="model-invariant-id,model-type"/>
+            </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.onap.org.v12.ModelVers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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.onap.org.v12.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,distribution-status"/>
+                <xml-property name="uniqueProps" value="model-version-id"/>
+                <xml-property name="container" value="model-vers"/>
+                <xml-property name="uriTemplate" value="/model-vers/model-ver/{model-version-id}"/>
+            <xml-property name="requiredProps" value="model-version-id,model-name,model-version"/>
+            </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="distributionStatus" name="distribution-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Distribution Status"/>
+                    </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.onap.org.v12.ModelElements"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v12.Metadata"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+            <xml-property name="requiredProps" value="model-element-uuid,new-data-del-flag,cardinality"/>
+            </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.onap.org.v12.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.onap.org.v12.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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+            <xml-property name="requiredProps" value="model-constraint-uuid,constrained-element-set-uuid-to-replace"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+            <xml-property name="requiredProps" value="constrained-element-set-uuid,constraint-type,check-type"/>
+            </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.onap.org.v12.ElementChoiceSets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+            <xml-property name="requiredProps" value="element-choice-set-uuid,element-choice-set-name"/>
+            </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.onap.org.v12.ModelElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+            <xml-property name="requiredProps" value="named-query-uuid,named-query-name,named-query-version"/>
+            </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.onap.org.v12.NamedQueryElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+            <xml-property name="requiredProps" value="named-query-element-uuid"/>
+            </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.onap.org.v12.NamedQueryElements"/>
+                <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v12.RelatedLookups"/>
+                <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v12.PropertyConstraints"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+            <xml-property name="requiredProps" value="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+            <xml-property name="requiredProps" value="property-constraint-uuid,constraint-type,property-name,property-value"/>
+            </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.onap.org.v12.QueryParameters"/>
+                <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v12.InstanceFilters"/>
+                <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.onap.org.v12.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.onap.org.v12.NamedQuery"/>
+                <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v12.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-property name="requiredProps" value="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version"/>
+            </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.onap.org.v12.ModelVers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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.onap.org.v12.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.onap.org.v12.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.onap.org.v12.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.onap.org.v12.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.onap.org.v12.ExtraProperties"/>
+                <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v12.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.onap.org.v12.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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+            <xml-property name="requiredProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+            </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.onap.org.v12.InstanceGroup"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="InstanceGroup">
+            <xml-root-element name="instance-group"/>
+            <java-attributes>
+                <xml-element java-attribute="instanceGroupRole" name="instance-group-role" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="role of the instance group."/>
+                    </xml-properties>
+                </xml-element>
+
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="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" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ASDC model version uid for this resource 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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="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-property name="dbAlias" value="instance-group-type"/>
+                    </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.onap.org.v12.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="searchable" value="id,description"/>
+                <xml-property name="indexedProps" value="id,description,type,sub-type"/>
+                <xml-property name="container" value="instance-groups"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/instance-groups/instance-group/{id}"/>
+            <xml-property name="requiredProps" value="id,description,type"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+            <xml-property name="requiredProps" value="segmentation-id"/>
+            </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.onap.org.v12.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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v12.TunnelXconnects"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.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-property name="uriTemplate" value="/allotted-resources/allotted-resource/{id}"/>
+            <xml-property name="requiredProps" value="id"/>
+            </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.onap.org.v12.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" 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" 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" 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" 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.onap.org.v12.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-property name="uriTemplate" value="/tunnel-xconnects/tunnel-xconnect/{id}"/>
+            <xml-property name="requiredProps" value="id"/>
+            </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.onap.org.v12.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.onap.org.v12.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"/>
+                <xml-property name="container" value="entitlements"/>
+                <xml-property name="uriTemplate" value="/entitlements/entitlement/{group-uuid}/{resource-uuid}"/>
+            <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+            </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.onap.org.v12.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.onap.org.v12.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"/>
+                <xml-property name="container" value="licenses"/>
+                <xml-property name="uriTemplate" value="/licenses/license/{group-uuid}/{resource-uuid}"/>
+            <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+            </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,generic-vnf"/>
+                <xml-property name="abstract" value="true"/>
+            <xml-property name="requiredProps" value="vnf-id"/>
+            </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.onap.org.v12.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.onap.org.v12.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-property name="uriTemplate" value="/network/zones/zone/{zone-id}"/>
+            <xml-property name="requiredProps" value="zone-id,zone-name,design-type,zone-context"/>
+            </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.onap.org.v12.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" type="java.lang.String" xml-key="true">
+                    <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" type="java.lang.String" xml-key="true">
+                    <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.onap.org.v12.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-property name="uriTemplate" value="/route-targets/route-target/{global-route-target}/{route-target-role}"/>
+            <xml-property name="requiredProps" value="global-route-target,route-target-role"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="SriovPfs">
+            <xml-properties>
+                <xml-property name="description" value="Collection of SR-IOV Physical Functions."/>
+            </xml-properties>
+            <xml-root-element name="sriov-pfs"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="sriovPf" name="sriov-pf" type="inventory.aai.onap.org.v12.SriovPf"/>
+            </java-attributes>
+        </java-type>
+        <java-type name="SriovPf">
+            <xml-root-element name="sriov-pf"/>
+            <java-attributes>
+                <xml-element java-attribute="pfPciId" name="pf-pci-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Identifier for the sriov-pf"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v12.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="SR-IOV Physical Function"/>
+                <xml-property name="indexedProps" value="pf-pci-id"/>
+                <xml-property name="dependentOn" value="p-interface"/>
+                <xml-property name="container" value="sriov-pfs"/>
+                <xml-property name="uriTemplate" value="/sriov-pfs/sriov-pf/{pf-pci-id}"/>
+            <xml-property name="requiredProps" value="pf-pci-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="HostRoutes">
+            <xml-root-element name="host-routes"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="hostRoute" name="host-route" type="inventory.aai.onap.org.v12.HostRoute"/>
+            </java-attributes>
+        </java-type>
+        <java-type name="HostRoute">
+            <xml-root-element name="host-route"/>
+            <java-attributes>
+                <xml-element java-attribute="hostRouteId" name="host-route-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="host-route id"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routePrefix" name="route-prefix" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="subnet prefix"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nextHop" name="next-hop" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Could be ip-address, hostname, or service-instance"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nextHopType" name="next-hop-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Should be ip-address, hostname, or service-instance to match next-hop"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v12.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="host-route-id"/>
+                <xml-property name="dependentOn" value="subnet"/>
+                <xml-property name="container" value="host-routes"/>
+                <xml-property name="uriTemplate" value="/host-routes/host-route/{host-route-id}"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VipIpv4AddressList">
+            <xml-root-element name="vip-ipv4-address-list"/>
+            <java-attributes>
+                <xml-element java-attribute="vipIpv4Address" name="vip-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="vipIpv4PrefixLength" name="vip-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.onap.org.v12.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="IPv4 Address Range"/>
+                <xml-property name="indexedProps" value="vip-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+            <xml-property name="uriTemplate" value="/vip-ipv4-address-list/{vip-ipv4-address}"/>
+            <xml-property name="requiredProps" value="vip-ipv4-address"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VipIpv6AddressList">
+            <xml-root-element name="vip-ipv6-address-list"/>
+            <java-attributes>
+                <xml-element java-attribute="vipIpv6Address" name="vip-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="vipIpv6PrefixLength" name="vip-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.onap.org.v12.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="IPv6 Address Range"/>
+                <xml-property name="indexedProps" value="vip-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+            <xml-property name="uriTemplate" value="/vip-ipv6-address-list/{vip-ipv6-address}"/>
+            <xml-property name="requiredProps" value="vip-ipv6-address"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="OperationalEnvironments">
+            <xml-properties>
+                <xml-property name="description" value="a logical partition of the cloud which allows to have multiple environments in the production AIC."/>
+            </xml-properties>
+            <xml-root-element name="operational-environments"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="operationalEnvironment" name="operational-environment" type="inventory.aai.onap.org.v12.OperationalEnvironment"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="OperationalEnvironment">
+            <xml-root-element name="operational-environment"/>
+            <java-attributes>
+                <xml-element java-attribute="operationalEnvironmentId" name="operational-environment-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of an operational environment"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalEnvironmentName" name="operational-environment-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Operational Environment name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalEnvironmentType" name="operational-environment-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Operational Environment Type."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalEnvironmentStatus" name="operational-environment-status" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Status"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tenantContext" name="tenant-context" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Tenant Context."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="workloadContext" name="workload-context" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Workload Context."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v12.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="It is a logical partition of the cloud which allows to have multiple environments in the production AIC."/>
+                <xml-property name="indexedProps" value="operational-environment-id"/>
+                <xml-property name="nameProps" value="operational-environment-name"/>
+                <xml-property name="uniqueProps" value="operational-environment-id"/>
+                <xml-property name="container" value="operational-environments"/>
+                <xml-property name="namespace" value="cloud-infrastructure"/>
+                <xml-property name="uriTemplate" value="/cloud-infrastructure/operational-environments/operational-environment/{operational-environment-id}"/>
+            <xml-property name="requiredProps" value="operational-environment-id,operational-environment-name,operational-environment-type,operational-environment-status,tenant-context,workload-context"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="ForwardingPaths">
+            <xml-root-element name="forwarding-paths"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="forwardingPath" name="forwarding-path" type="inventory.aai.onap.org.v12.ForwardingPath"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ForwardingPath">
+            <xml-root-element name="forwarding-path"/>
+            <xml-properties>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="indexedProps" value="forwarding-path-id,forwarding-path-name"/>
+                <xml-property name="description" value="Entity that describes the sequenced forwarding path between interfaces of services or resources"/>
+                <xml-property name="container" value="forwarding-paths"/>
+                <xml-property name="nameProps" value="forwarding-path-name"/>
+                <xml-property name="uniqueProps" value="forwarding-path-id"/>
+                <xml-property name="uriTemplate" value="/network/forwarding-paths/forwarding-path/{forwarding-path-id}"/>
+            <xml-property name="requiredProps" value="forwarding-path-id,forwarding-path-name"/>
+            </xml-properties>
+            <java-attributes>
+                <xml-element java-attribute="forwardingPathId" name="forwarding-path-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of this FP"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="forwardingPathName" name="forwarding-path-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the FP"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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="the self link for this FP"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="forwarders" name="forwarders" type="inventory.aai.onap.org.v12.Forwarders"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Forwarders">
+            <xml-root-element name="forwarders"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="forwarder" name="forwarder" type="inventory.aai.onap.org.v12.Forwarder"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Forwarder">
+            <xml-root-element name="forwarder"/>
+            <xml-properties>
+                <xml-property name="indexedProps" value="sequence"/>
+                <xml-property name="description" value="Entity describing a sequenced segment of forwarding path"/>
+                <xml-property name="container" value="forwarders"/>
+                <xml-property name="dependentOn" value="forwarding-path"/>
+                <xml-property name="uriTemplate" value="/forwarders/forwarder/{sequence}"/>
+            <xml-property name="requiredProps" value="sequence"/>
+            </xml-properties>
+            <java-attributes>
+                <xml-element java-attribute="sequence" name="sequence" required="true" type="java.lang.Integer" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of this segmentation"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="forwarderRole" name="forwarder-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ingress, intermediate, egress"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-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="ForwarderEvcs">
+            <xml-root-element name="forwarder-evcs"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="forwarderEvc" name="forwarder-evc" type="inventory.aai.onap.org.v12.ForwarderEvc"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ForwarderEvc">
+            <xml-root-element name="forwarder-evc"/>
+            <java-attributes>
+                <xml-element java-attribute="forwarderEvcId" name="forwarder-evc-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Key for forwarder-evc object"/>
+                    </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 from customer/ESP/ingress end of EVC, or reference to beater circuit on gateway/network/egress end of EVC"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ivlan" name="ivlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Internal VLAN."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="svlan" name="svlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="SVLAN value for ingress of egress forwarder."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cvlan" name="cvlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CVLAN value for ingress of egress forwarder."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-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="forwarder object is an optional child object of the Configuration object."/>
+                <xml-property name="dependentOn" value="configuration"/>
+                <xml-property name="uniqueProps" value="forwarder-evc-id"/>
+                <xml-property name="container" value="forwarder-evcs"/>
+                <xml-property name="uriTemplate" value="/forwarder-evcs/forwarder-evc/{forwarder-evc-id}"/>
+            <xml-property name="requiredProps" value="forwarder-evc-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Evcs">
+            <xml-root-element name="evcs"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="evc" name="evc" type="inventory.aai.onap.org.v12.Evc"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Evc">
+            <xml-root-element name="evc"/>
+            <java-attributes>
+                <xml-element java-attribute="evcId" name="evc-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique/key field for the evc object"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="forwardingPathTopology" name="forwarding-path-topology" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Point-to-Point, Multi-Point"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cirValue" name="cir-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Commited Information Rate"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cirUnits" name="cir-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CIR units"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="connectionDiversityGroupId" name="connection-diversity-group-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Diversity Group ID"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceHours" name="service-hours" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="formerly Performance Group"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="espEvcCircuitId" name="esp-evc-circuit-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="EVC Circuit ID of ESP EVC"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="espEvcCirValue" name="esp-evc-cir-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Committed Information Rate (For ESP)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="espEvcCirUnits" name="esp-evc-cir-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CIR units (For ESP)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="espItuCode" name="esp-itu-code" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Identifies ESP"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="collectorPopClli" name="collector-pop-clli" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Collector POP CLLI (from the hostname of the access pnf)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interConnectTypeIngress" name="inter-connect-type-ingress" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Interconnect type on ingress side of EVC."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tagmodeAccessIngress" name="tagmode-access-ingress" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="tagode for collector side of EVC"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tagmodeAccessEgress" name="tagmode-access-egress" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="tagMode for network side of EVC"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v12.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-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="evc object is an optional child object of the Configuration object."/>
+                <xml-property name="dependentOn" value="configuration"/>
+                <xml-property name="uniqueProps" value="evc-id"/>
+                <xml-property name="container" value="evcs"/>
+                <xml-property name="uriTemplate" value="/evcs/evc/{evc-id}"/>
+            <xml-property name="requiredProps" value="evc-id"/>
+            </xml-properties>
+        </java-type>
+
+    </java-types>
+</xml-bindings>
diff --git a/aai-schema/src/main/resources/onap/oxm/v13/aai_oxm_v13.xml b/aai-schema/src/main/resources/onap/oxm/v13/aai_oxm_v13.xml
new file mode 100644 (file)
index 0000000..be34895
--- /dev/null
@@ -0,0 +1,7060 @@
+<!--
+  ============LICENSE_START=======================================================
+  org.onap.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=========================================================
+  --><xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v13" xml-mapping-metadata-complete="true">
+    <xml-schema element-form-default="QUALIFIED">
+        <xml-ns namespace-uri="http://org.onap.aai.inventory/v13"/>
+    </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.onap.org.v13.Search"/>
+                <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v13.Actions"/>
+                <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v13.CloudInfrastructure"/>
+                               <xml-element java-attribute="externalSystem" name="external-system" type="inventory.aai.onap.org.v13.ExternalSystem"/>
+                <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v13.Business"/>
+                <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v13.ServiceDesignAndCreation"/>
+                <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v13.Network"/>
+                <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v13.AaiInternal"/>
+                <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.onap.org.v13.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.onap.org.v13.EdgeTagQueryResult"/>
+                <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v13.EdgeTagQueryRequest"/>
+                <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v13.SearchResults"/>
+                <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.InventoryItemData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.StartNodeFilter"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v13.IncludeNodeFilter"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.OamNetworks"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v13.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.onap.org.v13.DvsSwitches"/>
+                <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v13.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.onap.org.v13.Update"/>
+                <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v13.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-property name="requiredProps" value="update-node-type"/>
+            </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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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="ExternalSystem">
+                       <xml-properties>
+                               <xml-property name="description" value="Namespace for external system."/>
+                       </xml-properties>
+                       <xml-root-element name="external-system"/>
+                       <java-attributes>
+                               <xml-element java-attribute="esrEmsList" name="esr-ems-list" type="inventory.aai.onap.org.v13.EsrEmsList"/>
+                               <xml-element java-attribute="esrVnfmList" name="esr-vnfm-list" type="inventory.aai.onap.org.v13.EsrVnfmList"/>
+                               <xml-element java-attribute="esrThirdpartySdncList" name="esr-thirdparty-sdnc-list" type="inventory.aai.onap.org.v13.EsrThirdpartySdncList"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="EsrEmsList">
+                       <xml-root-element name="esr-ems-list"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrEms" name="esr-ems" type="inventory.aai.onap.org.v13.EsrEms"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrEms">
+                       <xml-root-element name="esr-ems"/>
+                       <java-attributes>
+                               <xml-element java-attribute="emsId" name="ems-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of EMS."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v13.EsrSystemInfoList"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist EMS address information used by EMS driver."/>
+                               <xml-property name="indexedProps" value="ems-id"/>
+                               <xml-property name="searchable" value="ems-id"/>
+                               <xml-property name="container" value="esr-ems-list"/>
+                               <xml-property name="namespace" value="external-system"/>
+                       <xml-property name="requiredProps" value="ems-id"/>
+            <xml-property name="uriTemplate" value="/external-system/esr-ems-list/esr-ems/{ems-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="EsrVnfmList">
+                       <xml-root-element name="esr-vnfm-list"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrVnfm" name="esr-vnfm" type="inventory.aai.onap.org.v13.EsrVnfm"/>
+                       </java-attributes>
+            <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrVnfm">
+                       <xml-root-element name="esr-vnfm"/>
+                       <java-attributes>
+                               <xml-element java-attribute="vnfmId" name="vnfm-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of VNFM."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vimId" name="vim-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="indecate the VIM to deploy VNF."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="certificateUrl" name="certificate-url" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="certificate url of VNFM."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v13.EsrSystemInfoList"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist VNFM address information used by VF-C."/>
+                               <xml-property name="indexedProps" value="vnfm-id"/>
+                               <xml-property name="searchable" value="vnfm-id"/>
+                               <xml-property name="container" value="esr-vnfm-list"/>
+                               <xml-property name="namespace" value="external-system"/>
+                       <xml-property name="requiredProps" value="vnfm-id"/>
+            <xml-property name="uriTemplate" value="/external-system/esr-vnfm-list/esr-vnfm/{vnfm-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="EsrThirdpartySdncList">
+                       <xml-root-element name="esr-thirdparty-sdnc-list"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrThirdpartySdnc" name="esr-thirdparty-sdnc" type="inventory.aai.onap.org.v13.EsrThirdpartySdnc"/>
+                       </java-attributes>
+            <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrThirdpartySdnc">
+                       <xml-root-element name="esr-thirdparty-sdnc"/>
+                       <java-attributes>
+                               <xml-element java-attribute="thirdpartySdncId" name="thirdparty-sdnc-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of SDNC."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="location" name="location" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="used for DC type to indicate the location of SDNC, such as Core or Edge."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="productName" name="product-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="password used to access SDNC 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="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v13.EsrSystemInfoList"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist SDNC address information used by ONAP SDNC."/>
+                               <xml-property name="indexedProps" value="sdnc-id"/>
+                               <xml-property name="searchable" value="sdnc-id"/>
+                               <xml-property name="container" value="esr-thirdparty-sdnc-list"/>
+                               <xml-property name="namespace" value="external-system"/>
+                       <xml-property name="requiredProps" value="thirdparty-sdnc-id"/>
+            <xml-property name="uriTemplate" value="/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/{thirdparty-sdnc-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="EsrSystemInfoList">
+                       <xml-root-element name="esr-system-info-list"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of persistent block-level external system auth info."/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrSystemInfo" name="esr-system-info" type="inventory.aai.onap.org.v13.EsrSystemInfo"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrSystemInfo">
+                       <xml-root-element name="esr-system-info"/>
+                       <java-attributes>
+                               <xml-element java-attribute="esrSystemInfoId" name="esr-system-info-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of esr system info."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemName" name="system-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="name of external system."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="type" name="type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="type of external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vendor" name="vendor" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="vendor of external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="version" name="version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="version of external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serviceUrl" name="service-url" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="url used to access external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="userName" name="user-name" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="username used to access external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="password" name="password" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="password used to access external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemType" name="system-type" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="it could be vim/vnfm/thirdparty-sdnc/ems-resource/ems-performance/ems-alarm."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="protocol" name="protocol" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="protocol of third party SDNC, for example netconf/snmp."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="sslCacert" name="ssl-cacert" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ca file content if enabled ssl on auth-url."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element default-value="false" java-attribute="sslInsecure" name="ssl-insecure" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Whether to verify VIM's certificate."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipAddress" name="ip-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="service IP of ftp server."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="port" name="port" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="service port of ftp server."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cloudDomain" name="cloud-domain" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="domain info for authentication."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="defaultTenant" name="default-tenant" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="default tenant of VIM."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="passive" name="passive" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ftp passive mode or not."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="remotepath" name="remote-path" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="resource or performance data file path."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemStatus" name="system-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the status of external system."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v13.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist common address information of external systems."/>
+                               <xml-property name="indexedProps" value="esr-system-info-id,system-name,system-type"/>
+                               <xml-property name="searchable" value="esr-system-info-id,system-name,system-type"/>
+                               <xml-property name="container" value="esr-system-info-list"/>
+                               <xml-property name="dependentOn" value="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc"/>
+                       <xml-property name="requiredProps" value="esr-system-info-id,user-name,password,system-type"/>
+            <xml-property name="uriTemplate" value="/esr-system-info-list/esr-system-info/{esr-system-info-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="HpaCapabilities">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of HPA Capabilities"/>
+                       </xml-properties>
+                       <xml-root-element name="hpa-capabilities"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="hpaCapability" name="hpa-capability" type="inventory.aai.onap.org.v13.HpaCapability"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="HpaCapability">
+                       <xml-root-element name="hpa-capability"/>
+                       <java-attributes>
+                               <xml-element java-attribute="hpaCapabilityId" name="hpa-capability-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="UUID to uniquely identify a HPA capability"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="hpaFeature" name="hpa-feature" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Name of the HPACapability"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="hpaVersion" name="hpa-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="HPA schema version"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="architecture" name="architecture" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Hardware architecture"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v13.RelationshipList"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="hpaFeatureAttributes" name="hpa-feature-attributes" type="inventory.aai.onap.org.v13.HpaFeatureAttributes"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Represents a HPA capability"/>
+                               <xml-property name="indexedProps" value="hpa-feature,architecture,hpa-capability-id"/>
+                               <xml-property name="dependentOn" value="flavor,cloud-region"/>
+                               <xml-property name="container" value="hpa-capabilities"/>
+                       <xml-property name="requiredProps" value="hpa-capability-id,hpa-feature"/>
+            <xml-property name="uriTemplate" value="/hpa-capabilities/hpa-capability/{hpa-capability-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="HpaFeatureAttributes">
+                       <xml-root-element name="hpa-feature-attributes"/>
+                       <java-attributes>
+                               <xml-element java-attribute="hpaAttributeKey" name="hpa-attribute-key" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="name of the specific HPA attribute"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="hpaAttributeValue" name="hpa-attribute-value" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="JSON string specifying the value, unit and type of the specific HPA attribute"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v13.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="HPA Capability Feature attributes"/>
+                               <xml-property name="indexedProps" value="hpa-attribute-key"/>
+                               <xml-property name="dependentOn" value="hpa-capability"/>
+                       <xml-property name="requiredProps" value="hpa-attribute-key"/>
+            </xml-properties>
+               </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.onap.org.v13.Complexes"/>
+                <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v13.CloudRegions"/>
+                <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v13.NetworkProfiles"/>
+                <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v13.Pservers"/>
+                <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v13.VirtualDataCenters"/>
+                <xml-element java-attribute="operationalEnvironments" name="operational-environments" type="inventory.aai.onap.org.v13.OperationalEnvironments"/>
+            </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.onap.org.v13.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="sriovAutomation" name="sriov-automation" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Whether the cloud region supports (true) or does not support (false) SR-IOV automation."/>
+                    </xml-properties>
+                </xml-element>
+                               <xml-element java-attribute="cloudExtraInfo" name="cloud-extra-info" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ESR inputs extra information about the VIM or Cloud which will be decoded by MultiVIM."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cloudEpaCaps" name="cloud-epa-caps" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="MultiVIM will discover and expose EPA capabilities."/>
+                                       </xml-properties>
+                               </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v13.VolumeGroups"/>
+                <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v13.Tenants"/>
+                <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v13.Flavors"/>
+                <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v13.GroupAssignments"/>
+                <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v13.Snapshots"/>
+                <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v13.Images"/>
+                <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v13.DvsSwitches"/>
+                <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v13.OamNetworks"/>
+                <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v13.AvailabilityZones"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv4AddressList" name="vip-ipv4-address-list" type="inventory.aai.onap.org.v13.VipIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv6AddressList" name="vip-ipv6-address-list" type="inventory.aai.onap.org.v13.VipIpv6AddressList"/>
+                               <xml-element java-attribute="hpaCapabilities" name="hpa-capabilities" type="inventory.aai.onap.org.v13.HpaCapabilities">
+                                       <xml-properties>
+                                               <xml-property name="description" value="List of cloud-region specific HPA Capabilities"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v13.EsrSystemInfoList"/>
+            </java-attributes>
+            <xml-properties>
+                               <xml-property name="description" value="cloud-region designates an installation of a cloud cluster or region or instantiation."/>
+                <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-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+            <xml-property name="requiredProps" value="cloud-owner,cloud-region-id"/>
+            </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.onap.org.v13.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" 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.onap.org.v13.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-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+            <xml-property name="requiredProps" value="volume-group-id,vnf-type"/>
+            </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.onap.org.v13.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="relationshipLabel" name="relationship-label" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The edge label for this relationship."/>
+                    </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.onap.org.v13.RelationshipData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.CtagPools"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+            <xml-property name="requiredProps" value="physical-location-id,physical-location-type,street1,city,postal-code,country,region"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+            <xml-property name="requiredProps" value="target-pe,availability-zone-name,ctag-pool-purpose"/>
+            </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.onap.org.v13.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="tenantContext" name="tenant-context" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field will store the tenant context."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v13.Vservers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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,tenant-context"/>
+                <xml-property name="searchable" value="tenant-id,tenant-name"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+                <xml-property name="container" value="tenants"/>
+                <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+            <xml-property name="requiredProps" value="tenant-id,tenant-name"/>
+            </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.onap.org.v13.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" 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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v13.Volumes"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+            <xml-property name="requiredProps" value="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled"/>
+            </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.onap.org.v13.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="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="allowedAddressPairs" name="allowed-address-pairs" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Freeform field for storing an ip address, list of ip addresses or a subnet block."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.onap.org.v13.Vlans"/>
+                <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v13.SriovVfs"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v13.LInterfaces"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v13.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v13.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,p-interface,vserver,lag-interface,l-interface"/>
+                <xml-property name="container" value="l-interfaces"/>
+                <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,is-port-mirrored,in-maint,is-ip-unnumbered"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+            <xml-property name="requiredProps" value="pci-id"/>
+            </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.onap.org.v13.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,vnfc"/>
+            <xml-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+            <xml-property name="requiredProps" value="l3-interface-ipv4-address"/>
+            </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.onap.org.v13.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="vpnKey" name="vpn-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan"/>
+                    </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="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v13.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v13.L3InterfaceIpv6AddressList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Definition of vlan"/>
+                <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key"/>
+                <xml-property name="dependentOn" value="l-interface"/>
+                <xml-property name="container" value="vlans"/>
+                <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+            <xml-property name="requiredProps" value="vlan-interface,in-maint,is-ip-unnumbered"/>
+            </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.onap.org.v13.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,vnfc"/>
+            <xml-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+            <xml-property name="requiredProps" value="l3-interface-ipv6-address"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+            <xml-property name="requiredProps" value="volume-id,volume-selflink"/>
+            </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.onap.org.v13.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="hpaCapabilities" name="hpa-capabilities" type="inventory.aai.onap.org.v13.HpaCapabilities">
+                                       <xml-properties>
+                                               <xml-property name="description" value="List of flavor specific HPA Capabilities"/>
+                                       </xml-properties>
+                               </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v13.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-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+            <xml-property name="requiredProps" value="flavor-id,flavor-name,flavor-selflink"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+            <xml-property name="requiredProps" value="snapshot-id"/>
+            </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.onap.org.v13.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.onap.org.v13.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="searchable" value="group-id,group-name"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+                <xml-property name="container" value="group-assignments"/>
+                <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+            <xml-property name="requiredProps" value="group-id,group-type,group-name"/>
+            </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.onap.org.v13.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.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/images/image/{image-id}"/>
+            <xml-property name="requiredProps" value="image-id,image-name,image-os-distro,image-os-version,image-selflink"/>
+            </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.onap.org.v13.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-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+            <xml-property name="requiredProps" value="metaname,metaval"/>
+            </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 GenericVnfs."/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+            <xml-property name="requiredProps" value="switch-name,vcenter-url"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+            <xml-property name="requiredProps" value="nm-profile-name"/>
+            </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.onap.org.v13.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" 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). 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="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicates who owns and or manages the device."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="hostProfile" name="host-profile" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The host profile that defines the configuration of the pserver."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v13.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v13.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="uniqueProps" value="hostname"/>
+                <xml-property name="container" value="pservers"/>
+                <xml-property name="namespace" value="cloud-infrastructure"/>
+                <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+            <xml-property name="requiredProps" value="hostname,in-maint"/>
+            </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.onap.org.v13.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="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="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="macAddress" name="mac-addresss" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="MAC Address of the p-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 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="invStatus" name="inv-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="inventory status"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="sriovPfs" name="sriov-pfs" type="inventory.aai.onap.org.v13.SriovPfs"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,in-maint"/>
+            </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.onap.org.v13.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.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v13.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,vpls-pe,pnf"/>
+                <xml-property name="container" value="lag-interfaces"/>
+                <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,in-maint"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+            <xml-property name="requiredProps" value="network-uuid,network-name,cvlan-tag"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+            <xml-property name="requiredProps" value="availability-zone-name,hypervisor-type"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+            <xml-property name="requiredProps" value="vdc-id,vdc-name"/>
+            </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.onap.org.v13.Connectors"/>
+                <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v13.Customers"/>
+                <xml-element java-attribute="linesOfBusiness" name="lines-of-business" type="inventory.aai.onap.org.v13.LinesOfBusiness"/>
+                <xml-element java-attribute="owningEntities" name="owning-entities" type="inventory.aai.onap.org.v13.OwningEntities"/>
+                <xml-element java-attribute="platforms" name="platforms" type="inventory.aai.onap.org.v13.Platforms"/>
+                <xml-element java-attribute="projects" name="projects" type="inventory.aai.onap.org.v13.Projects"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Projects">
+            <xml-properties>
+                <xml-property name="description" value="Collection of projects"/>
+            </xml-properties>
+            <xml-root-element name="projects"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="project" name="project" type="inventory.aai.onap.org.v13.Project"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Project">
+            <xml-root-element name="project"/>
+            <java-attributes>
+                <xml-element java-attribute="projectName" name="project-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the project deploying a 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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes the project"/>
+                <xml-property name="indexedProps" value="project-name"/>
+                <xml-property name="uniqueProps" value="project-name"/>
+                <xml-property name="container" value="projects"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/projects/project/{project-name}"/>
+            <xml-property name="requiredProps" value="project-name"/>
+            </xml-properties>
+        </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.onap.org.v13.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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{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.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+            <xml-property name="requiredProps" value="resource-instance-id"/>
+            </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.onap.org.v13.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.onap.org.v13.ServiceSubscriptions"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+            <xml-property name="requiredProps" value="global-customer-id,subscriber-name,subscriber-type"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="LinesOfBusiness">
+            <xml-properties>
+                <xml-property name="description" value="Collection of lines-of-business"/>
+            </xml-properties>
+            <xml-root-element name="lines-of-business"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="lineOfBusiness" name="line-of-business" type="inventory.aai.onap.org.v13.LineOfBusiness"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="LineOfBusiness">
+            <xml-root-element name="line-of-business"/>
+            <java-attributes>
+                <xml-element java-attribute="lineOfBusinessName" name="line-of-business-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the line-of-business (product)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v13.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes a line-of-business"/>
+                <xml-property name="indexedProps" value="line-of-business-name"/>
+                <xml-property name="uniqueProps" value="line-of-business-name"/>
+                <xml-property name="container" value="lines-of-business"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/lines-of-business/line-of-business/{line-of-business-name}"/>
+            <xml-property name="requiredProps" value="line-of-business-name"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="OwningEntities">
+            <xml-properties>
+                <xml-property name="description" value="Collection of owning-entities"/>
+            </xml-properties>
+            <xml-root-element name="owning-entities"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="owningEntity" name="owning-entity" type="inventory.aai.onap.org.v13.OwningEntity"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="OwningEntity">
+            <xml-root-element name="owning-entity"/>
+            <java-attributes>
+                <xml-element java-attribute="owningEntityId" name="owning-entity-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of an owning entity"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="owningEntityName" name="owning-entity-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Owning entity name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v13.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes an owning-entity"/>
+                <xml-property name="indexedProps" value="owning-entity-id,owning-entity-name"/>
+                <xml-property name="searchable" value="owning-entity-id"/>
+                <xml-property name="uniqueProps" value="owning-entity-id,owning-entity-name"/>
+                <xml-property name="container" value="owning-entities"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/owning-entities/owning-entity/{owning-entity-id}"/>
+            <xml-property name="requiredProps" value="owning-entity-id,owning-entity-name"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Platforms">
+            <xml-properties>
+                <xml-property name="description" value="Collection of platforms"/>
+            </xml-properties>
+            <xml-root-element name="platforms"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="platform" name="platform" type="inventory.aai.onap.org.v13.Platform"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Platform">
+            <xml-root-element name="platform"/>
+            <java-attributes>
+                <xml-element java-attribute="platformName" name="platform-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the platform"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v13.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes a platform"/>
+                <xml-property name="indexedProps" value="platform-name"/>
+                <xml-property name="uniqueProps" value="platform-name"/>
+                <xml-property name="container" value="platforms"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/platforms/platform/{platform-name}"/>
+            <xml-property name="requiredProps" value="platform-name"/>
+            </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.onap.org.v13.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.onap.org.v13.ServiceInstances">
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/service-subscriptions/service-subscription/{service-type}"/>
+            <xml-property name="requiredProps" value="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.onap.org.v13.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="serviceType" name="service-type" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing type of service."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceRole" name="service-role" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing the service role."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="environmentContext" name="environment-context" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field will store the environment context assigned to the service-instance."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="workloadContext" name="workload-context" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field will store the workload context assigned to the service-instance."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="createdAt" name="created-at" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="create time of Network Service."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="updatedAt" name="updated-at" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="last update of Network Service."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="description" name="description" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="short description for service-instance."/>
+                    </xml-properties>
+                </xml-element>
+                <!-- for storing the nsd_id create edge between services -->
+                <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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v13.Metadata"/>
+                <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.org.v13.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,environment-context,workload-context"/>
+                <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-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+            <xml-property name="requiredProps" value="service-instance-id"/>
+            </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.onap.org.v13.VnfImages"/>
+                <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v13.Services"/>
+                <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v13.ServiceCapabilities"/>
+                <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v13.Models"/>
+                <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{vnf-image-uuid}"/>
+            <xml-property name="requiredProps" value="vnf-image-uuid,application,application-vendor"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+            <xml-property name="requiredProps" value="service-id,service-description"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+            <xml-property name="requiredProps" value="service-type,vnf-type"/>
+            </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.onap.org.v13.LogicalLinks"/>
+                <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v13.SitePairSets"/>
+                <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v13.VpnBindings"/>
+                <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v13.VplsPes"/>
+                <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v13.MulticastConfigurations"/>
+                <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v13.Vces"/>
+                <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v13.Vnfcs"/>
+                <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v13.L3Networks"/>
+                <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v13.NetworkPolicies"/>
+                <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v13.GenericVnfs"/>
+                <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v13.LagLinks"/>
+                <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v13.Newvces"/>
+                <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v13.Pnfs"/>
+                <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v13.PhysicalLinks"/>
+                <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v13.IpsecConfigurations"/>
+                <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v13.RouteTableReferences"/>
+                <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v13.InstanceGroups"/>
+                <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.org.v13.Zones"/>
+                <xml-element java-attribute="configurations" name="configurations" type="inventory.aai.onap.org.v13.Configurations"/>
+                <xml-element java-attribute="forwardingPaths" name="forwarding-paths" type="inventory.aai.onap.org.v13.ForwardingPaths"/>
+                <xml-element java-attribute="collections" name="collections" type="inventory.aai.onap.org.v13.Collections"/>
+            </java-attributes>
+        </java-type>
+        <java-type name="Configurations">
+            <xml-properties>
+                <xml-property name="description" value="Collection of configurations"/>
+            </xml-properties>
+            <xml-root-element name="configurations"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="configuration" name="configuration" type="inventory.aai.onap.org.v13.Configuration"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Configuration">
+            <xml-root-element name="configuration"/>
+            <java-attributes>
+                <xml-element java-attribute="configurationId" name="configuration-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID assigned to configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicates the entity that will manage this feature. Could be an organization or the name of the application as well."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="configurationName" name="configuration-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="configurationType" name="configuration-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="port-mirroring-configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="configurationSubType" name="configuration-sub-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="vprobe, pprobe."/>
+                    </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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 the configuration."/>
+                    </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="configurationSelflink" name="configuration-selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details from SDN-GC."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="id of  the configuration used to customize the resource"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tunnelBandwidth" name="tunnel-bandwidth" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="DHV Site Effective Bandwidth"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vendorAllowedMaxBandwidth" name="vendor-allowed-max-bandwidth" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Velocloud Nominal Throughput - VNT"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v13.Metadata"/>
+                <xml-element java-attribute="forwarderEvcs" name="forwarder-evcs" type="inventory.aai.onap.org.v13.ForwarderEvcs"/>
+                <xml-element java-attribute="evcs" name="evcs" type="inventory.aai.onap.org.v13.Evcs"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Generic configuration object."/>
+                <xml-property name="indexedProps" value="configuration-id,model-invariant-id,model-version-id"/>
+                <xml-property name="uniqueProps" value="configuration-id"/>
+                <xml-property name="container" value="configurations"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/configurations/configuration/{configuration-id}"/>
+            <xml-property name="requiredProps" value="configuration-id,configuration-type"/>
+            </xml-properties>
+        </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.onap.org.v13.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 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). 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="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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{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.onap.org.v13.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-property name="uriTemplate" value="/network/logical-links/logical-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name,in-maint,link-type"/>
+            </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.onap.org.v13.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.onap.org.v13.RoutingInstances"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+            <xml-property name="requiredProps" value="site-pair-set-id"/>
+            </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.onap.org.v13.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.onap.org.v13.SitePairs"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="routing-instance-id"/>
+                <xml-property name="dependentOn" value="site-pair-set"/>
+                <xml-property name="container" value="routing-instances"/>
+                <xml-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+            </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.onap.org.v13.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, UCPE, 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.onap.org.v13.ClassesOfService"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+            </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.onap.org.v13.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="vpnRegion" name="vpn-region" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="region of customer vpn"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="customerVpnId" name="customer-vpn-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="id for this customer vpn"/>
+                    </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.onap.org.v13.RouteTargets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+            <xml-property name="requiredProps" value="vpn-id,vpn-name"/>
+            </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.onap.org.v13.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v13.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+            <xml-property name="requiredProps" value="equipment-name"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+            </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.onap.org.v13.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.onap.org.v13.PortGroups"/>
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v13.Licenses"/>
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v13.Entitlements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+            <xml-property name="requiredProps" value="vnf-id,vnf-name,vnf-type"/>
+            </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.onap.org.v13.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.onap.org.v13.CvlanTags"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+            <xml-property name="requiredProps" value="interface-id,orchestration-status"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag}"/>
+            </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.onap.org.v13.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="nfcNamingCode" name="nfc-naming-code" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Short code that is used in naming instances of the item being modeled"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nfcFunction" name="nfc-function" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service"/>
+                    </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" 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 default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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="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="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v13.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v13.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v13.L3InterfaceIpv6AddressList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id"/>
+                <xml-property name="searchable" value="vnfc-name"/>
+                <xml-property name="container" value="vnfcs"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+            </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.onap.org.v13.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" 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" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v13.Subnets"/>
+                <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v13.CtagAssignments"/>
+                <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v13.SegmentationAssignments"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+            <xml-property name="requiredProps" value="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+            </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.onap.org.v13.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" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" 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="subnetRole" name="subnet-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="role of the subnet, referenced when assigning IPs"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipAssignmentDirection" name="ip-assignment-direction" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ip address assignment direction of the subnet"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="subnetSequence" name="subnet-sequence" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="sequence of the subnet"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="hostRoutes" name="host-routes" type="inventory.aai.onap.org.v13.HostRoutes"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+            </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.onap.org.v13.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="vnfInstanceId" name="vnf-instance-id" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="vnf instance id."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName" name="vnf-name" 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-property name="suggestibleOnSearch" value="true"/>
+                    </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="vnfPackageName" name="vnf-package-name" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value=""/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfDiscriptorName" name="vnf-discriptor-name" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="vnf discriptor name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="jobId" name="job-id" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="job id corresponding to vnf"/>
+                    </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 ATT 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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 uCPE"/>
+                    </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 by uCPE"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nshd" name="nshd" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of associated SHD in vnf."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nvm" name="nvm" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of vms in vnf."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nnet" name="nnet" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of network in vnf."/>
+                    </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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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-property name="suggestibleOnSearch" value="true"/>
+                    </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-property name="suggestibleOnSearch" value="true"/>
+                    </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="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="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="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Temporary location for S-TAG to get to VCE"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nmProfileName" name="nm-profile-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Network Management profile of this VNF"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v13.LInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v13.LagInterfaces"/>
+                <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v13.VfModules"/>
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v13.Licenses"/>
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v13.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,operational-status"/>
+                <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-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+            <xml-property name="requiredProps" value="vnf-id,vnf-type,in-maint,is-closed-loop-disabled"/>
+            </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.onap.org.v13.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" java-attribute="isBaseVfModule" name="is-base-vf-module" 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 base vf module"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="automatedAssignment" name="automated-assignment" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Indicates whether vf-module assignment was done via automation or manually"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v13.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-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+            <xml-property name="requiredProps" value="vf-module-id,is-base-vf-module,automated-assignment"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name"/>
+            </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.onap.org.v13.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+            <xml-property name="requiredProps" value="vnf-id2,vnf-name,vnf-type"/>
+            </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.onap.org.v13.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="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="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 ATT 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" 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). 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="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The ASDC model id for this resource  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  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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v13.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v13.LagInterfaces"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>
+                <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status,model-invariant-id,model-version-id"/>
+                <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-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+            <xml-property name="requiredProps" value="pnf-name,in-maint"/>
+            </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.onap.org.v13.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="serviceProviderBandwidthUpValue" name="service-provider-bandwidth-up-value" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Upstream Bandwidth value agreed with the service provider"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceProviderBandwidthUpUnits" name="service-provider-bandwidth-up-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Units for the upstream BW value"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceProviderBandwidthDownValue" name="service-provider-bandwidth-down-value" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Downstream Bandwidth value agreed with the service provider"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceProviderBandwidthDownUnits" name="service-provider-bandwidth-down-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Units for downstream BW value"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v13.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-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+            <xml-property name="requiredProps" value="vig-address-type"/>
+            </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.onap.org.v13.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="ATT 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,ucpeHostName,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.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+            <xml-property name="requiredProps" value="ipsec-configuration-id"/>
+            </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.onap.org.v13.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.onap.org.v13.ReservedPropNames"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v13.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,aai-uri,aai-uuid"/>
+                <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri,aai-uuid"/>
+            </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"/>
+                <xml-element java-attribute="aaiUuid" name="aai-uuid" 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="aaiUuid,edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV"/>
+                <xml-property name="uniqueProps" value="aai-uuid"/>
+                <xml-property name="indexedProps" value="aai-uuid"/>
+            </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="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+                <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+                <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+                <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+                <xml-element java-attribute="private" name="private" type="java.lang.Boolean"/>
+                <xml-element java-attribute="aaiUuid" name="aai-uuid" type="java.lang.String"/>
+            </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.onap.org.v13.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-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-invariant-id}"/>
+            <xml-property name="requiredProps" value="model-invariant-id,model-type"/>
+            </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.onap.org.v13.ModelVers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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,distribution-status"/>
+                <xml-property name="uniqueProps" value="model-version-id"/>
+                <xml-property name="container" value="model-vers"/>
+                <xml-property name="uriTemplate" value="/model-vers/model-ver/{model-version-id}"/>
+            <xml-property name="requiredProps" value="model-version-id,model-name,model-version"/>
+            </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="distributionStatus" name="distribution-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Distribution Status"/>
+                    </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.onap.org.v13.ModelElements"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v13.Metadata"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+            <xml-property name="requiredProps" value="model-element-uuid,new-data-del-flag,cardinality"/>
+            </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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+            <xml-property name="requiredProps" value="model-constraint-uuid,constrained-element-set-uuid-to-replace"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+            <xml-property name="requiredProps" value="constrained-element-set-uuid,constraint-type,check-type"/>
+            </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.onap.org.v13.ElementChoiceSets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+            <xml-property name="requiredProps" value="element-choice-set-uuid,element-choice-set-name"/>
+            </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.onap.org.v13.ModelElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+            <xml-property name="requiredProps" value="named-query-uuid,named-query-name,named-query-version"/>
+            </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.onap.org.v13.NamedQueryElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+            <xml-property name="requiredProps" value="named-query-element-uuid"/>
+            </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.onap.org.v13.NamedQueryElements"/>
+                <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v13.RelatedLookups"/>
+                <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v13.PropertyConstraints"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+            <xml-property name="requiredProps" value="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+            <xml-property name="requiredProps" value="property-constraint-uuid,constraint-type,property-name,property-value"/>
+            </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.onap.org.v13.QueryParameters"/>
+                <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v13.InstanceFilters"/>
+                <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.onap.org.v13.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.onap.org.v13.NamedQuery"/>
+                <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v13.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-property name="requiredProps" value="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version"/>
+            </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.onap.org.v13.ModelVers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.ExtraProperties"/>
+                <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+            <xml-property name="requiredProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+            </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.onap.org.v13.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="instanceGroupRole" name="instance-group-role" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="role of the instance group."/>
+                    </xml-properties>
+                </xml-element>
+
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="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" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ASDC model version uid for this resource 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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="instanceGroupType" name="instance-group-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="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="instanceGroupName" name="instance-group-name" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Instance-Group Name."/>
+                    </xml-properties>
+                </xml-element>
+
+                <xml-element java-attribute="instanceGroupFunction" name="instance-group-function" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Instance-Group Function"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+            </java-attributes>
+
+            <xml-properties>
+                <xml-property name="description" value="General mechanism for grouping instances"/>
+                <xml-property name="nameProps" value="description,instance-group-name"/>
+                <xml-property name="uniqueProps" value="id"/>
+                <xml-property name="searchable" value="id,description"/>
+                <xml-property name="indexedProps" value="id,description,type,sub-type,model-invariant-id,model-version-id"/>
+                <xml-property name="container" value="instance-groups"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/instance-groups/instance-group/{id}"/>
+            <xml-property name="requiredProps" value="id,description,instance-group-type"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+            <xml-property name="requiredProps" value="segmentation-id"/>
+            </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.onap.org.v13.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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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="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.onap.org.v13.TunnelXconnects"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.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-property name="uriTemplate" value="/allotted-resources/allotted-resource/{id}"/>
+            <xml-property name="requiredProps" value="id"/>
+            </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.onap.org.v13.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" 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" 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" 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" 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.onap.org.v13.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-property name="uriTemplate" value="/tunnel-xconnects/tunnel-xconnect/{id}"/>
+            <xml-property name="requiredProps" value="id"/>
+            </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.onap.org.v13.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.onap.org.v13.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"/>
+                <xml-property name="container" value="entitlements"/>
+                <xml-property name="uriTemplate" value="/entitlements/entitlement/{group-uuid}/{resource-uuid}"/>
+            <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+            </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.onap.org.v13.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.onap.org.v13.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"/>
+                <xml-property name="container" value="licenses"/>
+                <xml-property name="uriTemplate" value="/licenses/license/{group-uuid}/{resource-uuid}"/>
+            <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+            </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,generic-vnf"/>
+                <xml-property name="abstract" value="true"/>
+            <xml-property name="requiredProps" value="vnf-id"/>
+            </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.onap.org.v13.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.onap.org.v13.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-property name="uriTemplate" value="/network/zones/zone/{zone-id}"/>
+            <xml-property name="requiredProps" value="zone-id,zone-name,design-type,zone-context"/>
+            </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.onap.org.v13.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" type="java.lang.String" xml-key="true">
+                    <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" type="java.lang.String" xml-key="true">
+                    <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.onap.org.v13.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-property name="uriTemplate" value="/route-targets/route-target/{global-route-target}/{route-target-role}"/>
+            <xml-property name="requiredProps" value="global-route-target,route-target-role"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="SriovPfs">
+            <xml-properties>
+                <xml-property name="description" value="Collection of SR-IOV Physical Functions."/>
+            </xml-properties>
+            <xml-root-element name="sriov-pfs"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="sriovPf" name="sriov-pf" type="inventory.aai.onap.org.v13.SriovPf"/>
+            </java-attributes>
+        </java-type>
+        <java-type name="SriovPf">
+            <xml-root-element name="sriov-pf"/>
+            <java-attributes>
+                <xml-element java-attribute="pfPciId" name="pf-pci-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Identifier for the sriov-pf"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v13.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="SR-IOV Physical Function"/>
+                <xml-property name="indexedProps" value="pf-pci-id"/>
+                <xml-property name="dependentOn" value="p-interface"/>
+                <xml-property name="container" value="sriov-pfs"/>
+                <xml-property name="uriTemplate" value="/sriov-pfs/sriov-pf/{pf-pci-id}"/>
+            <xml-property name="requiredProps" value="pf-pci-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="HostRoutes">
+            <xml-root-element name="host-routes"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="hostRoute" name="host-route" type="inventory.aai.onap.org.v13.HostRoute"/>
+            </java-attributes>
+        </java-type>
+        <java-type name="HostRoute">
+            <xml-root-element name="host-route"/>
+            <java-attributes>
+                <xml-element java-attribute="hostRouteId" name="host-route-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="host-route id"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routePrefix" name="route-prefix" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="subnet prefix"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nextHop" name="next-hop" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Could be ip-address, hostname, or service-instance"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nextHopType" name="next-hop-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Should be ip-address, hostname, or service-instance to match next-hop"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v13.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="host-route-id"/>
+                <xml-property name="dependentOn" value="subnet"/>
+                <xml-property name="container" value="host-routes"/>
+                <xml-property name="uriTemplate" value="/host-routes/host-route/{host-route-id}"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VipIpv4AddressList">
+            <xml-root-element name="vip-ipv4-address-list"/>
+            <java-attributes>
+                <xml-element java-attribute="vipIpv4Address" name="vip-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="vipIpv4PrefixLength" name="vip-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.onap.org.v13.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="IPv4 Address Range"/>
+                <xml-property name="indexedProps" value="vip-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+            <xml-property name="uriTemplate" value="/vip-ipv4-address-list/{vip-ipv4-address}"/>
+            <xml-property name="requiredProps" value="vip-ipv4-address"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VipIpv6AddressList">
+            <xml-root-element name="vip-ipv6-address-list"/>
+            <java-attributes>
+                <xml-element java-attribute="vipIpv6Address" name="vip-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="vipIpv6PrefixLength" name="vip-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.onap.org.v13.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="IPv6 Address Range"/>
+                <xml-property name="indexedProps" value="vip-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+            <xml-property name="uriTemplate" value="/vip-ipv6-address-list/{vip-ipv6-address}"/>
+            <xml-property name="requiredProps" value="vip-ipv6-address"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="OperationalEnvironments">
+            <xml-properties>
+                <xml-property name="description" value="a logical partition of the cloud which allows to have multiple environments in the production AIC."/>
+            </xml-properties>
+            <xml-root-element name="operational-environments"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="operationalEnvironment" name="operational-environment" type="inventory.aai.onap.org.v13.OperationalEnvironment"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="OperationalEnvironment">
+            <xml-root-element name="operational-environment"/>
+            <java-attributes>
+                <xml-element java-attribute="operationalEnvironmentId" name="operational-environment-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of an operational environment"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalEnvironmentName" name="operational-environment-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Operational Environment name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalEnvironmentType" name="operational-environment-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Operational Environment Type."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalEnvironmentStatus" name="operational-environment-status" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Status"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tenantContext" name="tenant-context" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Tenant Context."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="workloadContext" name="workload-context" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Workload Context."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v13.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="It is a logical partition of the cloud which allows to have multiple environments in the production AIC."/>
+                <xml-property name="indexedProps" value="operational-environment-id"/>
+                <xml-property name="nameProps" value="operational-environment-name"/>
+                <xml-property name="uniqueProps" value="operational-environment-id"/>
+                <xml-property name="container" value="operational-environments"/>
+                <xml-property name="namespace" value="cloud-infrastructure"/>
+                <xml-property name="uriTemplate" value="/cloud-infrastructure/operational-environments/operational-environment/{operational-environment-id}"/>
+            <xml-property name="requiredProps" value="operational-environment-id,operational-environment-name,operational-environment-type,operational-environment-status,tenant-context,workload-context"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="ForwardingPaths">
+            <xml-root-element name="forwarding-paths"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="forwardingPath" name="forwarding-path" type="inventory.aai.onap.org.v13.ForwardingPath"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ForwardingPath">
+            <xml-root-element name="forwarding-path"/>
+            <xml-properties>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="indexedProps" value="forwarding-path-id,forwarding-path-name"/>
+                <xml-property name="description" value="Entity that describes the sequenced forwarding path between interfaces of services or resources"/>
+                <xml-property name="container" value="forwarding-paths"/>
+                <xml-property name="nameProps" value="forwarding-path-name"/>
+                <xml-property name="uniqueProps" value="forwarding-path-id"/>
+                <xml-property name="uriTemplate" value="/network/forwarding-paths/forwarding-path/{forwarding-path-id}"/>
+            <xml-property name="requiredProps" value="forwarding-path-id,forwarding-path-name"/>
+            </xml-properties>
+            <java-attributes>
+                <xml-element java-attribute="forwardingPathId" name="forwarding-path-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of this FP"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="forwardingPathName" name="forwarding-path-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the FP"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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="the self link for this FP"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="forwarders" name="forwarders" type="inventory.aai.onap.org.v13.Forwarders"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Forwarders">
+            <xml-root-element name="forwarders"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="forwarder" name="forwarder" type="inventory.aai.onap.org.v13.Forwarder"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Forwarder">
+            <xml-root-element name="forwarder"/>
+            <xml-properties>
+                <xml-property name="indexedProps" value="sequence"/>
+                <xml-property name="description" value="Entity describing a sequenced segment of forwarding path"/>
+                <xml-property name="container" value="forwarders"/>
+                <xml-property name="dependentOn" value="forwarding-path"/>
+                <xml-property name="uriTemplate" value="/forwarders/forwarder/{sequence}"/>
+            <xml-property name="requiredProps" value="sequence"/>
+            </xml-properties>
+            <java-attributes>
+                <xml-element java-attribute="sequence" name="sequence" required="true" type="java.lang.Integer" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of this segmentation"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="forwarderRole" name="forwarder-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ingress, intermediate, egress"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-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="ForwarderEvcs">
+            <xml-root-element name="forwarder-evcs"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="forwarderEvc" name="forwarder-evc" type="inventory.aai.onap.org.v13.ForwarderEvc"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ForwarderEvc">
+            <xml-root-element name="forwarder-evc"/>
+            <java-attributes>
+                <xml-element java-attribute="forwarderEvcId" name="forwarder-evc-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Key for forwarder-evc object"/>
+                    </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 from customer/ESP/ingress end of EVC, or reference to beater circuit on gateway/network/egress end of EVC"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ivlan" name="ivlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Internal VLAN."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="svlan" name="svlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="SVLAN value for ingress of egress forwarder."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cvlan" name="cvlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CVLAN value for ingress of egress forwarder."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-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="forwarder object is an optional child object of the Configuration object."/>
+                <xml-property name="dependentOn" value="configuration"/>
+                <xml-property name="uniqueProps" value="forwarder-evc-id"/>
+                <xml-property name="container" value="forwarder-evcs"/>
+                <xml-property name="uriTemplate" value="/forwarder-evcs/forwarder-evc/{forwarder-evc-id}"/>
+            <xml-property name="requiredProps" value="forwarder-evc-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Evcs">
+            <xml-root-element name="evcs"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="evc" name="evc" type="inventory.aai.onap.org.v13.Evc"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Evc">
+            <xml-root-element name="evc"/>
+            <java-attributes>
+                <xml-element java-attribute="evcId" name="evc-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique/key field for the evc object"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="forwardingPathTopology" name="forwarding-path-topology" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Point-to-Point, Multi-Point"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cirValue" name="cir-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Commited Information Rate"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cirUnits" name="cir-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CIR units"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="connectionDiversityGroupId" name="connection-diversity-group-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Diversity Group ID"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceHours" name="service-hours" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="formerly Performance Group"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="espEvcCircuitId" name="esp-evc-circuit-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="EVC Circuit ID of ESP EVC"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="espEvcCirValue" name="esp-evc-cir-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Committed Information Rate (For ESP)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="espEvcCirUnits" name="esp-evc-cir-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CIR units (For ESP)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="espItuCode" name="esp-itu-code" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Identifies ESP"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="collectorPopClli" name="collector-pop-clli" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Collector POP CLLI (from the hostname of the access pnf)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interConnectTypeIngress" name="inter-connect-type-ingress" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Interconnect type on ingress side of EVC."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tagmodeAccessIngress" name="tagmode-access-ingress" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="tagode for collector side of EVC"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tagmodeAccessEgress" name="tagmode-access-egress" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="tagMode for network side of EVC"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-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="evc object is an optional child object of the Configuration object."/>
+                <xml-property name="dependentOn" value="configuration"/>
+                <xml-property name="uniqueProps" value="evc-id"/>
+                <xml-property name="container" value="evcs"/>
+                <xml-property name="uriTemplate" value="/evcs/evc/{evc-id}"/>
+            <xml-property name="requiredProps" value="evc-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Collections">
+            <xml-root-element name="collections"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="collection" name="collection" type="inventory.aai.onap.org.v13.Collection"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Collection">
+            <xml-root-element name="collection"/>
+            <java-attributes>
+                <xml-element java-attribute="collectionId" name="collection-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Collection Object UUID"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="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="Model Version"/>
+                        <xml-property name="visibility" value="deployment"/>
+                        <xml-property name="requires" value="model-invariant-id"/>
+                        <xml-property name="dbAlias" value="model-version-id-local"/>
+                        <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="collectionName" name="collection-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="collection name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="collectionType" name="collection-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Collection type"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="collectionRole" name="collection-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Collection Role"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="collectionFunction" name="collection-function" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Collection function"/>
+                    </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="collectionCustomizationId" name="collection-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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v13.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-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="namespace" value="network"/>
+                <xml-property name="description" value="represents the collection resource in the TOSCA model"/>
+                <xml-property name="uniqueProps" value="collection-id"/>
+                <xml-property name="indexedProps" value="collection-id,model-invariant-id,model-version-id"/>
+                <xml-property name="container" value="collections"/>
+                <xml-property name="uriTemplate" value="/network/collections/collection/{collection-id}"/>
+            <xml-property name="requiredProps" value="collection-id"/>
+            </xml-properties>
+        </java-type>
+
+    </java-types>
+</xml-bindings>
diff --git a/aai-schema/src/main/resources/onap/oxm/v14/aai_oxm_v14.xml b/aai-schema/src/main/resources/onap/oxm/v14/aai_oxm_v14.xml
new file mode 100644 (file)
index 0000000..c7d8d97
--- /dev/null
@@ -0,0 +1,8484 @@
+<!--
+  ============LICENSE_START=======================================================
+  org.onap.aai
+  ================================================================================
+  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+  Copyright (C) 2018 Huawei Technologies (Australia) Pty Ltd. 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=========================================================
+  --><xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v14" xml-mapping-metadata-complete="true">
+       <xml-schema element-form-default="QUALIFIED">
+               <xml-ns namespace-uri="http://org.onap.aai.inventory/v14"/>
+       </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.onap.org.v14.Search"/>
+                               <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v14.Actions"/>
+                               <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v14.CloudInfrastructure"/>
+                               <xml-element java-attribute="externalSystem" name="external-system" type="inventory.aai.onap.org.v14.ExternalSystem"/>
+                               <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v14.Business"/>
+                               <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v14.ServiceDesignAndCreation"/>
+                               <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v14.Network"/>
+                               <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v14.AaiInternal"/>
+                               <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.onap.org.v14.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.onap.org.v14.EdgeTagQueryResult"/>
+                               <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v14.EdgeTagQueryRequest"/>
+                               <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v14.SearchResults"/>
+                               <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v14.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.onap.org.v14.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.onap.org.v14.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.onap.org.v14.InventoryItemData"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v14.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.onap.org.v14.StartNodeFilter"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v14.IncludeNodeFilter"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v14.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.onap.org.v14.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.onap.org.v14.OamNetworks"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v14.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.onap.org.v14.DvsSwitches"/>
+                               <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v14.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.onap.org.v14.Update"/>
+                               <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v14.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-property name="requiredProps" value="update-node-type"/>
+            </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.onap.org.v14.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.onap.org.v14.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.onap.org.v14.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.onap.org.v14.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="ExternalSystem">
+                       <xml-properties>
+                               <xml-property name="description" value="Namespace for external system."/>
+                       </xml-properties>
+                       <xml-root-element name="external-system"/>
+                       <java-attributes>
+                               <xml-element java-attribute="esrEmsList" name="esr-ems-list" type="inventory.aai.onap.org.v14.EsrEmsList"/>
+                               <xml-element java-attribute="esrVnfmList" name="esr-vnfm-list" type="inventory.aai.onap.org.v14.EsrVnfmList"/>
+                               <xml-element java-attribute="esrThirdpartySdncList" name="esr-thirdparty-sdnc-list" type="inventory.aai.onap.org.v14.EsrThirdpartySdncList"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="EsrEmsList">
+                       <xml-root-element name="esr-ems-list"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrEms" name="esr-ems" type="inventory.aai.onap.org.v14.EsrEms"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrEms">
+                       <xml-root-element name="esr-ems"/>
+                       <java-attributes>
+                               <xml-element java-attribute="emsId" name="ems-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of EMS."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v14.EsrSystemInfoList"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist EMS address information used by EMS driver."/>
+                               <xml-property name="indexedProps" value="ems-id"/>
+                               <xml-property name="searchable" value="ems-id"/>
+                               <xml-property name="container" value="esr-ems-list"/>
+                               <xml-property name="namespace" value="external-system"/>
+                       <xml-property name="requiredProps" value="ems-id"/>
+            <xml-property name="uriTemplate" value="/external-system/esr-ems-list/esr-ems/{ems-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="EsrVnfmList">
+                       <xml-root-element name="esr-vnfm-list"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrVnfm" name="esr-vnfm" type="inventory.aai.onap.org.v14.EsrVnfm"/>
+                       </java-attributes>
+            <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrVnfm">
+                       <xml-root-element name="esr-vnfm"/>
+                       <java-attributes>
+                               <xml-element java-attribute="vnfmId" name="vnfm-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of VNFM."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vimId" name="vim-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="indecate the VIM to deploy VNF."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="certificateUrl" name="certificate-url" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="certificate url of VNFM."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v14.EsrSystemInfoList"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist VNFM address information used by VF-C."/>
+                               <xml-property name="indexedProps" value="vnfm-id"/>
+                               <xml-property name="searchable" value="vnfm-id"/>
+                               <xml-property name="container" value="esr-vnfm-list"/>
+                               <xml-property name="namespace" value="external-system"/>
+                       <xml-property name="requiredProps" value="vnfm-id"/>
+            <xml-property name="uriTemplate" value="/external-system/esr-vnfm-list/esr-vnfm/{vnfm-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="EsrThirdpartySdncList">
+                       <xml-root-element name="esr-thirdparty-sdnc-list"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrThirdpartySdnc" name="esr-thirdparty-sdnc" type="inventory.aai.onap.org.v14.EsrThirdpartySdnc"/>
+                       </java-attributes>
+            <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrThirdpartySdnc">
+                       <xml-root-element name="esr-thirdparty-sdnc"/>
+                       <java-attributes>
+                               <xml-element java-attribute="thirdpartySdncId" name="thirdparty-sdnc-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of SDNC."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="location" name="location" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="used for DC type to indicate the location of SDNC, such as Core or Edge."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="productName" name="product-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="password used to access SDNC 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="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v14.EsrSystemInfoList"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist SDNC address information used by ONAP SDNC."/>
+                               <xml-property name="indexedProps" value="sdnc-id"/>
+                               <xml-property name="searchable" value="sdnc-id"/>
+                               <xml-property name="container" value="esr-thirdparty-sdnc-list"/>
+                               <xml-property name="namespace" value="external-system"/>
+                       <xml-property name="requiredProps" value="thirdparty-sdnc-id"/>
+            <xml-property name="uriTemplate" value="/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/{thirdparty-sdnc-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="EsrSystemInfoList">
+                       <xml-root-element name="esr-system-info-list"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of persistent block-level external system auth info."/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrSystemInfo" name="esr-system-info" type="inventory.aai.onap.org.v14.EsrSystemInfo"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrSystemInfo">
+                       <xml-root-element name="esr-system-info"/>
+                       <java-attributes>
+                               <xml-element java-attribute="esrSystemInfoId" name="esr-system-info-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of esr system info."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemName" name="system-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="name of external system."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="type" name="type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="type of external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vendor" name="vendor" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="vendor of external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="version" name="version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="version of external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serviceUrl" name="service-url" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="url used to access external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="userName" name="user-name" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="username used to access external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="password" name="password" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="password used to access external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemType" name="system-type" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="it could be vim/vnfm/thirdparty-sdnc/ems-resource/ems-performance/ems-alarm."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="protocol" name="protocol" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="protocol of third party SDNC, for example netconf/snmp."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="sslCacert" name="ssl-cacert" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ca file content if enabled ssl on auth-url."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element default-value="false" java-attribute="sslInsecure" name="ssl-insecure" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Whether to verify VIM's certificate."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipAddress" name="ip-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="service IP of ftp server."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="port" name="port" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="service port of ftp server."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cloudDomain" name="cloud-domain" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="domain info for authentication."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="defaultTenant" name="default-tenant" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="default tenant of VIM."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="passive" name="passive" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ftp passive mode or not."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="remotePath" name="remote-path" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="resource or performance data file path."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemStatus" name="system-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the status of external system."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="openstackRegionId" name="openstack-region-id" type="java.lang.String">
+                                       <xml-properties>
+                                                  <xml-property name="description" value="OpenStack region ID used by MultiCloud plugin to interact with an OpenStack 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.onap.org.v14.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist common address information of external systems."/>
+                               <xml-property name="indexedProps" value="esr-system-info-id,system-name,system-type"/>
+                               <xml-property name="searchable" value="esr-system-info-id,system-name,system-type"/>
+                               <xml-property name="container" value="esr-system-info-list"/>
+                               <xml-property name="dependentOn" value="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc,ext-aai-network"/>
+                       <xml-property name="requiredProps" value="esr-system-info-id,user-name,password,system-type"/>
+            <xml-property name="uriTemplate" value="/esr-system-info-list/esr-system-info/{esr-system-info-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="HpaCapabilities">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of HPA Capabilities"/>
+                       </xml-properties>
+                       <xml-root-element name="hpa-capabilities"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="hpaCapability" name="hpa-capability" type="inventory.aai.onap.org.v14.HpaCapability"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="HpaCapability">
+                       <xml-root-element name="hpa-capability"/>
+                       <java-attributes>
+                               <xml-element java-attribute="hpaCapabilityId" name="hpa-capability-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="UUID to uniquely identify a HPA capability"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="hpaFeature" name="hpa-feature" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Name of the HPACapability"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="hpaVersion" name="hpa-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="HPA schema version"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="architecture" name="architecture" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Hardware architecture"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v14.RelationshipList"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="hpaFeatureAttributes" name="hpa-feature-attributes" type="inventory.aai.onap.org.v14.HpaFeatureAttributes"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Represents a HPA capability"/>
+                               <xml-property name="indexedProps" value="hpa-feature,architecture,hpa-capability-id"/>
+                               <xml-property name="dependentOn" value="flavor,cloud-region"/>
+                               <xml-property name="container" value="hpa-capabilities"/>
+                       <xml-property name="requiredProps" value="hpa-capability-id,hpa-feature"/>
+            <xml-property name="uriTemplate" value="/hpa-capabilities/hpa-capability/{hpa-capability-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="HpaFeatureAttributes">
+                       <xml-root-element name="hpa-feature-attributes"/>
+                       <java-attributes>
+                               <xml-element java-attribute="hpaAttributeKey" name="hpa-attribute-key" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="name of the specific HPA attribute"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="hpaAttributeValue" name="hpa-attribute-value" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="JSON string specifying the value, unit and type of the specific HPA attribute"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v14.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="HPA Capability Feature attributes"/>
+                               <xml-property name="indexedProps" value="hpa-attribute-key"/>
+                               <xml-property name="dependentOn" value="hpa-capability"/>
+                       <xml-property name="requiredProps" value="hpa-attribute-key"/>
+            </xml-properties>
+               </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.onap.org.v14.Complexes"/>
+                <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v14.CloudRegions"/>
+                <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v14.NetworkProfiles"/>
+                <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v14.Pservers"/>
+                <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v14.VirtualDataCenters"/>
+                <xml-element java-attribute="operationalEnvironments" name="operational-environments" type="inventory.aai.onap.org.v14.OperationalEnvironments"/>
+                <xml-element java-attribute="networkTechnologies" name="network-technologies" type="inventory.aai.onap.org.v14.NetworkTechnologies"/>
+            </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.onap.org.v14.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="sriovAutomation" name="sriov-automation" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Whether the cloud region supports (true) or does not support (false) SR-IOV automation."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cloudExtraInfo" name="cloud-extra-info" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ESR inputs extra information about the VIM or Cloud which will be decoded by MultiVIM."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v14.VolumeGroups"/>
+                <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v14.Tenants"/>
+                <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v14.Flavors"/>
+                <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v14.GroupAssignments"/>
+                <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v14.Snapshots"/>
+                <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v14.Images"/>
+                <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v14.DvsSwitches"/>
+                <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v14.OamNetworks"/>
+                <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v14.AvailabilityZones"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv4AddressList" name="vip-ipv4-address-list" type="inventory.aai.onap.org.v14.VipIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv6AddressList" name="vip-ipv6-address-list" type="inventory.aai.onap.org.v14.VipIpv6AddressList"/>
+                               <xml-element java-attribute="hpaCapabilities" name="hpa-capabilities" type="inventory.aai.onap.org.v14.HpaCapabilities">
+                                       <xml-properties>
+                                               <xml-property name="description" value="List of cloud-region specific HPA Capabilities"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v14.EsrSystemInfoList"/>
+            </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-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+            <xml-property name="requiredProps" value="cloud-owner,cloud-region-id"/>
+            </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.onap.org.v14.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" 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.onap.org.v14.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-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+            <xml-property name="requiredProps" value="volume-group-id,vnf-type"/>
+            </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.onap.org.v14.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="relationshipLabel" name="relationship-label" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The edge label for this relationship."/>
+                    </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.onap.org.v14.RelationshipData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v14.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.onap.org.v14.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.onap.org.v14.CtagPools"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+            <xml-property name="requiredProps" value="physical-location-id,physical-location-type,street1,city,postal-code,country,region"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+            <xml-property name="requiredProps" value="target-pe,availability-zone-name,ctag-pool-purpose"/>
+            </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.onap.org.v14.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="tenantContext" name="tenant-context" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field will store the tenant context."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v14.Vservers"/>
+                <xml-element java-attribute="nosServers" name="nos-servers" type="inventory.aai.onap.org.v14.NosServers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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,tenant-context"/>
+                <xml-property name="searchable" value="tenant-id,tenant-name"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+                <xml-property name="container" value="tenants"/>
+                <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+            <xml-property name="requiredProps" value="tenant-id,tenant-name"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="NosServers">
+            <xml-properties>
+                <xml-property name="description" value="nos-server is the execution environment that will have images, certain versions of VNOS, running on it."/>
+            </xml-properties>
+            <xml-root-element name="nos-servers"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="nosServer" name="nos-server" type="inventory.aai.onap.org.v14.NosServer"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="NosServer">
+            <xml-root-element name="nos-server"/>
+            <java-attributes>
+                <xml-element java-attribute="nosServerId" name="nos-server-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier for this nos relative to its tenant"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nosServerName" name="nos-server-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of nos"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vendor" name="vendor" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="uCPE vendor"/>
+                    </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="nosServerSelflink" name="nos-server-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" 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). 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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="nos-server is the execution environment that will have images, certain versions of VNOS, running on it."/>
+                <xml-property name="indexedProps" value="nos-server-id"/>
+                <xml-property name="dependentOn" value="tenant"/>
+                <xml-property name="nameProps" value="nos-server-name"/>
+                <xml-property name="container" value="nos-servers"/>
+                <xml-property name="uriTemplate" value="/nos-servers/nos-server/{nos-server-id}"/>
+            <xml-property name="requiredProps" value="nos-server-id,nos-server-name,vendor,nos-server-selflink,in-maint"/>
+            </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.onap.org.v14.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" 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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v14.Volumes"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v14.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-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+            <xml-property name="requiredProps" value="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled"/>
+            </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.onap.org.v14.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="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="allowedAddressPairs" name="allowed-address-pairs" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Freeform field for storing an ip address, list of ip addresses or a subnet block."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.onap.org.v14.Vlans"/>
+                <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v14.SriovVfs"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v14.LInterfaces"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v14.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v14.L3InterfaceIpv6AddressList"/>
+                <xml-element java-attribute="adminStatus" name="admin-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Administrative status of the interface. Valid values are 'up', 'down', or 'testing'."/>
+                    </xml-properties>
+                </xml-element>
+            </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,p-interface,vserver,lag-interface,l-interface"/>
+                <xml-property name="container" value="l-interfaces"/>
+                <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,is-port-mirrored,in-maint,is-ip-unnumbered"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+            <xml-property name="requiredProps" value="pci-id"/>
+            </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.onap.org.v14.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,vnfc,cp"/>
+            <xml-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+            <xml-property name="requiredProps" value="l3-interface-ipv4-address"/>
+            </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.onap.org.v14.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="vpnKey" name="vpn-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan"/>
+                    </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="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="isPrivate" name="is-private" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Private VLAN indicator."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v14.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v14.L3InterfaceIpv6AddressList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Definition of vlan"/>
+                <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key"/>
+                <xml-property name="dependentOn" value="l-interface"/>
+                <xml-property name="container" value="vlans"/>
+                <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+            <xml-property name="requiredProps" value="vlan-interface,in-maint,is-ip-unnumbered"/>
+            </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.onap.org.v14.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,vnfc,cp"/>
+            <xml-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+            <xml-property name="requiredProps" value="l3-interface-ipv6-address"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+            <xml-property name="requiredProps" value="volume-id,volume-selflink"/>
+            </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.onap.org.v14.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="Cloud Region 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="hpaCapabilities" name="hpa-capabilities" type="inventory.aai.onap.org.v14.HpaCapabilities">
+                                       <xml-properties>
+                                               <xml-property name="description" value="List of flavor specific HPA Capabilities"/>
+                                       </xml-properties>
+                               </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v14.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-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+            <xml-property name="requiredProps" value="flavor-id,flavor-name,flavor-selflink"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+            <xml-property name="requiredProps" value="snapshot-id"/>
+            </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.onap.org.v14.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.onap.org.v14.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="searchable" value="group-id,group-name"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+                <xml-property name="container" value="group-assignments"/>
+                <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+            <xml-property name="requiredProps" value="group-id,group-type,group-name"/>
+            </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.onap.org.v14.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.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v14.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-property name="uriTemplate" value="/images/image/{image-id}"/>
+            <xml-property name="requiredProps" value="image-id,image-name,image-os-distro,image-os-version,image-selflink"/>
+            </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.onap.org.v14.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-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+            <xml-property name="requiredProps" value="metaname,metaval"/>
+            </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 GenericVnfs."/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+            <xml-property name="requiredProps" value="switch-name,vcenter-url"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+            <xml-property name="requiredProps" value="nm-profile-name"/>
+            </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.onap.org.v14.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" 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). 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="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicates who owns and or manages the device."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="hostProfile" name="host-profile" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The host profile that defines the configuration of the pserver."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v14.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v14.LagInterfaces"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="hpaCapacity" name="hpa-capacity" type="inventory.aai.onap.org.v14.HpaCapacity"/>
+            </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="uniqueProps" value="hostname"/>
+                <xml-property name="container" value="pservers"/>
+                <xml-property name="namespace" value="cloud-infrastructure"/>
+                <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+            <xml-property name="requiredProps" value="hostname,in-maint"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="HpaCapacity">
+            <xml-root-element name="hpa-capacity"/>
+            <java-attributes>
+                <xml-element java-attribute="hpaCapacityKey" name="hpa-capacity-key" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Composite key formed with hpaFeature and append list of hpaFeatureAttributes needed for capacity check"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="hpaCapacityValue" name="hpa-capacity-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="JSON string specifying the capacity (total,free), unit and metadata of the specific HPA attribute"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v14.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="HPA Capacity information for compute node"/>
+                <xml-property name="indexedProps" value="hpa-capacity-key"/>
+                <xml-property name="dependentOn" value="hpa-capacity"/>
+            <xml-property name="requiredProps" value="hpa-capacity-key"/>
+            </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.onap.org.v14.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="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="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="macAddress" name="mac-addresss" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="MAC Address of the p-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 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="invStatus" name="inv-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="inventory status"/>
+                    </xml-properties>
+                </xml-element>
+                               <xml-element java-attribute="networkRef" name="network-ref" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the network-ref of this p-interface. Derived from ietf-restconf-notification that identifies a termination-point."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="transparent" name="transparent" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the transparent value of this p-interface."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="oper Status of this p-interface."/>
+                                       </xml-properties>
+                               </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="sriovPfs" name="sriov-pfs" type="inventory.aai.onap.org.v14.SriovPfs"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v14.LInterfaces"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Physical interface (e.g., nic)"/>
+                               <xml-property name="indexedProps" value="interface-name,prov-status,networkRef,operational-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-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,in-maint"/>
+            </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.onap.org.v14.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.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v14.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,vpls-pe,pnf"/>
+                <xml-property name="container" value="lag-interfaces"/>
+                <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,in-maint"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+            <xml-property name="requiredProps" value="network-uuid,network-name,cvlan-tag"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+            <xml-property name="requiredProps" value="availability-zone-name,hypervisor-type"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+            <xml-property name="requiredProps" value="vdc-id,vdc-name"/>
+            </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.onap.org.v14.Connectors"/>
+                <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v14.Customers"/>
+                <xml-element java-attribute="linesOfBusiness" name="lines-of-business" type="inventory.aai.onap.org.v14.LinesOfBusiness"/>
+                <xml-element java-attribute="owningEntities" name="owning-entities" type="inventory.aai.onap.org.v14.OwningEntities"/>
+                <xml-element java-attribute="platforms" name="platforms" type="inventory.aai.onap.org.v14.Platforms"/>
+                <xml-element java-attribute="projects" name="projects" type="inventory.aai.onap.org.v14.Projects"/>
+
+                               <xml-element java-attribute="spPartners" name="sp-partners" type="inventory.aai.onap.org.v14.SpPartners"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Projects">
+            <xml-properties>
+                <xml-property name="description" value="Collection of projects"/>
+            </xml-properties>
+            <xml-root-element name="projects"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="project" name="project" type="inventory.aai.onap.org.v14.Project"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Project">
+            <xml-root-element name="project"/>
+            <java-attributes>
+                <xml-element java-attribute="projectName" name="project-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the project deploying a 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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes the project"/>
+                <xml-property name="indexedProps" value="project-name"/>
+                <xml-property name="uniqueProps" value="project-name"/>
+                <xml-property name="container" value="projects"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/projects/project/{project-name}"/>
+            <xml-property name="requiredProps" value="project-name"/>
+            </xml-properties>
+        </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.onap.org.v14.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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{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.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v14.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-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+            <xml-property name="requiredProps" value="resource-instance-id"/>
+            </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.onap.org.v14.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.onap.org.v14.ServiceSubscriptions"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+            <xml-property name="requiredProps" value="global-customer-id,subscriber-name,subscriber-type"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="LinesOfBusiness">
+            <xml-properties>
+                <xml-property name="description" value="Collection of lines-of-business"/>
+            </xml-properties>
+            <xml-root-element name="lines-of-business"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="lineOfBusiness" name="line-of-business" type="inventory.aai.onap.org.v14.LineOfBusiness"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="LineOfBusiness">
+            <xml-root-element name="line-of-business"/>
+            <java-attributes>
+                <xml-element java-attribute="lineOfBusinessName" name="line-of-business-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the line-of-business (product)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v14.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes a line-of-business"/>
+                <xml-property name="indexedProps" value="line-of-business-name"/>
+                <xml-property name="uniqueProps" value="line-of-business-name"/>
+                <xml-property name="container" value="lines-of-business"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/lines-of-business/line-of-business/{line-of-business-name}"/>
+            <xml-property name="requiredProps" value="line-of-business-name"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="OwningEntities">
+            <xml-properties>
+                <xml-property name="description" value="Collection of owning-entities"/>
+            </xml-properties>
+            <xml-root-element name="owning-entities"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="owningEntity" name="owning-entity" type="inventory.aai.onap.org.v14.OwningEntity"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="OwningEntity">
+            <xml-root-element name="owning-entity"/>
+            <java-attributes>
+                <xml-element java-attribute="owningEntityId" name="owning-entity-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of an owning entity"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="owningEntityName" name="owning-entity-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Owning entity name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v14.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes an owning-entity"/>
+                <xml-property name="indexedProps" value="owning-entity-id,owning-entity-name"/>
+                <xml-property name="searchable" value="owning-entity-id"/>
+                <xml-property name="uniqueProps" value="owning-entity-id,owning-entity-name"/>
+                <xml-property name="container" value="owning-entities"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/owning-entities/owning-entity/{owning-entity-id}"/>
+            <xml-property name="requiredProps" value="owning-entity-id,owning-entity-name"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Platforms">
+            <xml-properties>
+                <xml-property name="description" value="Collection of platforms"/>
+            </xml-properties>
+            <xml-root-element name="platforms"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="platform" name="platform" type="inventory.aai.onap.org.v14.Platform"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Platform">
+            <xml-root-element name="platform"/>
+            <java-attributes>
+                <xml-element java-attribute="platformName" name="platform-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the platform"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v14.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes a platform"/>
+                <xml-property name="indexedProps" value="platform-name"/>
+                <xml-property name="uniqueProps" value="platform-name"/>
+                <xml-property name="container" value="platforms"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/platforms/platform/{platform-name}"/>
+            <xml-property name="requiredProps" value="platform-name"/>
+            </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.onap.org.v14.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.onap.org.v14.ServiceInstances">
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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-property name="uriTemplate" value="/service-subscriptions/service-subscription/{service-type}"/>
+            <xml-property name="requiredProps" value="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.onap.org.v14.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="serviceType" name="service-type" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing type of service."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceRole" name="service-role" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing the service role."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="environmentContext" name="environment-context" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field will store the environment context assigned to the service-instance."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="workloadContext" name="workload-context" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field will store the workload context assigned to the service-instance."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="createdAt" name="created-at" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="create time of Network Service."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="updatedAt" name="updated-at" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="last update of Network Service."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="description" name="description" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="short description for service-instance."/>
+                    </xml-properties>
+                </xml-element>
+                <!-- for storing the nsd_id create edge between services -->
+                <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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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="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="inputParameters" name="input-parameters" required="false" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="String capturing request parameters from SO to pass to Closed Loop."/>
+                                       </xml-properties>
+                               </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v14.Metadata"/>
+                <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.org.v14.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,environment-context,workload-context"/>
+                <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-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+            <xml-property name="requiredProps" value="service-instance-id"/>
+            </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.onap.org.v14.VnfImages"/>
+                <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v14.Services"/>
+                <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v14.ServiceCapabilities"/>
+                <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v14.Models"/>
+                <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v14.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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{vnf-image-uuid}"/>
+            <xml-property name="requiredProps" value="vnf-image-uuid,application,application-vendor"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+            <xml-property name="requiredProps" value="service-id,service-description"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+            <xml-property name="requiredProps" value="service-type,vnf-type"/>
+            </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.onap.org.v14.LogicalLinks"/>
+                <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v14.SitePairSets"/>
+                <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v14.VpnBindings"/>
+                <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v14.VplsPes"/>
+                <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v14.MulticastConfigurations"/>
+                <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v14.Vces"/>
+                <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v14.Vnfcs"/>
+                <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v14.L3Networks"/>
+                <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v14.NetworkPolicies"/>
+                <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v14.GenericVnfs"/>
+                <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v14.LagLinks"/>
+                <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v14.Newvces"/>
+                <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v14.Pnfs"/>
+                <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v14.PhysicalLinks"/>
+                <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v14.IpsecConfigurations"/>
+                <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v14.RouteTableReferences"/>
+                <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v14.InstanceGroups"/>
+                <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.org.v14.Zones"/>
+                <xml-element java-attribute="configurations" name="configurations" type="inventory.aai.onap.org.v14.Configurations"/>
+                <xml-element java-attribute="forwardingPaths" name="forwarding-paths" type="inventory.aai.onap.org.v14.ForwardingPaths"/>
+                <xml-element java-attribute="collections" name="collections" type="inventory.aai.onap.org.v14.Collections"/>
+                <xml-element java-attribute="vlanTags" name="vlan-tags" type="inventory.aai.onap.org.v14.VlanTags"/>
+                               <xml-element java-attribute="connectivities" name="connectivities" type="inventory.aai.onap.org.v14.Connectivities"/>
+                               <xml-element java-attribute="lanPortConfigs" name="lan-port-configs" type="inventory.aai.onap.org.v14.LanPortConfigs"/>
+                               <xml-element java-attribute="networkResources" name="network-resources" type="inventory.aai.onap.org.v14.NetworkResources"/>
+                               <xml-element java-attribute="siteResources" name="site-resources" type="inventory.aai.onap.org.v14.SiteResources"/>
+                               <xml-element java-attribute="sdwanVpns" name="sdwan-vpns" type="inventory.aai.onap.org.v14.SdwanVpns"/>
+                               <xml-element java-attribute="devices" name="devices" type="inventory.aai.onap.org.v14.Devices"/>
+                               <xml-element java-attribute="wanPortConfigs" name="wan-port-configs" type="inventory.aai.onap.org.v14.WanPortConfigs"/>
+                               <xml-element java-attribute="extAaiNetworks" name="ext-aai-networks" type="inventory.aai.onap.org.v14.ExtAaiNetworks"/>
+            </java-attributes>
+        </java-type>
+        <java-type name="Configurations">
+            <xml-properties>
+                <xml-property name="description" value="Collection of configurations"/>
+            </xml-properties>
+            <xml-root-element name="configurations"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="configuration" name="configuration" type="inventory.aai.onap.org.v14.Configuration"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Configuration">
+            <xml-root-element name="configuration"/>
+            <java-attributes>
+                <xml-element java-attribute="configurationId" name="configuration-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID assigned to configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicates the entity that will manage this feature. Could be an organization or the name of the application as well."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="configurationName" name="configuration-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="configurationType" name="configuration-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="port-mirroring-configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="configurationSubType" name="configuration-sub-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="vprobe, pprobe."/>
+                    </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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 the configuration."/>
+                    </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="configurationSelflink" name="configuration-selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details from SDN-GC."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="id of  the configuration used to customize the resource"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tunnelBandwidth" name="tunnel-bandwidth" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="DHV Site Effective Bandwidth"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vendorAllowedMaxBandwidth" name="vendor-allowed-max-bandwidth" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Velocloud Nominal Throughput - VNT"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="configPolicyName" name="config-policy-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used to capture the name of the fabric configuration policy that was used to generate the payload sent to PINC for fabric 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.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v14.Metadata"/>
+                <xml-element java-attribute="forwarderEvcs" name="forwarder-evcs" type="inventory.aai.onap.org.v14.ForwarderEvcs"/>
+                <xml-element java-attribute="evcs" name="evcs" type="inventory.aai.onap.org.v14.Evcs"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Generic configuration object."/>
+                <xml-property name="indexedProps" value="configuration-id,model-invariant-id,model-version-id"/>
+                <xml-property name="uniqueProps" value="configuration-id"/>
+                <xml-property name="container" value="configurations"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/configurations/configuration/{configuration-id}"/>
+            <xml-property name="requiredProps" value="configuration-id,configuration-type"/>
+            </xml-properties>
+        </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.onap.org.v14.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 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). 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="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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{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.onap.org.v14.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,operational-status"/>
+                <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-property name="uriTemplate" value="/network/logical-links/logical-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name,in-maint,link-type"/>
+            </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.onap.org.v14.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.onap.org.v14.RoutingInstances"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+            <xml-property name="requiredProps" value="site-pair-set-id"/>
+            </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.onap.org.v14.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.onap.org.v14.SitePairs"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="routing-instance-id"/>
+                <xml-property name="dependentOn" value="site-pair-set"/>
+                <xml-property name="container" value="routing-instances"/>
+                <xml-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+            </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.onap.org.v14.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, UCPE, 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.onap.org.v14.ClassesOfService"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+            </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.onap.org.v14.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="vpnRegion" name="vpn-region" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="region of customer vpn"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="customerVpnId" name="customer-vpn-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="id for this customer vpn"/>
+                    </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="accessProviderId" name="access-provider-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access provider of this vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessClientId" name="access-client-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access client of this vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessTopologyId" name="access-topology-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access topology of this vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="srcAccessNodeId" name="src-access-node-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the src-access-node of this vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="srcAccessLtpId" name="src-access-ltp-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the src-access-ltp of this vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="dstAccessNodeId" name="dst-access-node-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the dst-access-node of this vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="dstAccessLtpId" name="dst-access-ltp-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the dst-access-ltp of this vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the operational-status for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the model-customization-id for this object."/>
+                                       </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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="routeTargets" name="route-targets" type="inventory.aai.onap.org.v14.RouteTargets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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,access-provider-id,access-client-id,access-topology-id,src-access-node-id,src-access-ltp-id,dst-access-node-id,dst-access-ltp-id,operational-status"/>
+                <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-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+            <xml-property name="requiredProps" value="vpn-id,vpn-name"/>
+            </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.onap.org.v14.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v14.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v14.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-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+            <xml-property name="requiredProps" value="equipment-name"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+            </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.onap.org.v14.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.onap.org.v14.PortGroups"/>
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v14.Licenses"/>
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v14.Entitlements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+            <xml-property name="requiredProps" value="vnf-id,vnf-name,vnf-type"/>
+            </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.onap.org.v14.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.onap.org.v14.CvlanTags"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+            <xml-property name="requiredProps" value="interface-id,orchestration-status"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag}"/>
+            </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.onap.org.v14.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="nfcNamingCode" name="nfc-naming-code" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Short code that is used in naming instances of the item being modeled"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nfcFunction" name="nfc-function" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service"/>
+                    </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" 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 default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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="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="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="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="cps" name="cps" type="inventory.aai.onap.org.v14.Cps"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v14.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v14.L3InterfaceIpv6AddressList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id"/>
+                <xml-property name="searchable" value="vnfc-name"/>
+                <xml-property name="container" value="vnfcs"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+            </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.onap.org.v14.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" 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" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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="isTrunked" name="is-trunked" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Trunked network indication."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.onap.org.v14.Subnets"/>
+                <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v14.CtagAssignments"/>
+                <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v14.SegmentationAssignments"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+            <xml-property name="requiredProps" value="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+            </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.onap.org.v14.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" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" 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="subnetRole" name="subnet-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="role of the subnet, referenced when assigning IPs"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipAssignmentDirection" name="ip-assignment-direction" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ip address assignment direction of the subnet"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="subnetSequence" name="subnet-sequence" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="sequence of the subnet"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="hostRoutes" name="host-routes" type="inventory.aai.onap.org.v14.HostRoutes"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+            </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.onap.org.v14.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="vnfInstanceId" name="vnf-instance-id" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="vnf instance id."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName" name="vnf-name" 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-property name="suggestibleOnSearch" value="true"/>
+                    </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="vnfPackageName" name="vnf-package-name" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value=""/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfDiscriptorName" name="vnf-discriptor-name" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="vnf discriptor name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="jobId" name="job-id" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="job id corresponding to vnf"/>
+                    </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 ATT 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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 uCPE"/>
+                    </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 by uCPE"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nshd" name="nshd" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of associated SHD in vnf."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nvm" name="nvm" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of vms in vnf."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nnet" name="nnet" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of network in vnf."/>
+                    </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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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-property name="suggestibleOnSearch" value="true"/>
+                    </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-property name="suggestibleOnSearch" value="true"/>
+                    </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="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="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="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Temporary location for S-TAG to get to VCE"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nmProfileName" name="nm-profile-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Network Management profile of this VNF"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v14.LInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v14.LagInterfaces"/>
+                <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v14.VfModules"/>
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v14.Licenses"/>
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v14.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,operational-status"/>
+                <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-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+            <xml-property name="requiredProps" value="vnf-id,vnf-type,in-maint,is-closed-loop-disabled"/>
+            </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.onap.org.v14.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" java-attribute="isBaseVfModule" name="is-base-vf-module" 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 base vf module"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="automatedAssignment" name="automated-assignment" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Indicates whether vf-module assignment was done via automation or manually"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v14.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-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+            <xml-property name="requiredProps" value="vf-module-id,is-base-vf-module,automated-assignment"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name"/>
+            </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.onap.org.v14.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v14.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-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+            <xml-property name="requiredProps" value="vnf-id2,vnf-name,vnf-type"/>
+            </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.onap.org.v14.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="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="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 ATT 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" 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). 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="adminStatus" name="admin-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="admin Status of this PNF"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the operational-status for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the model-customization-id for this object."/>
+                                       </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  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  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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="pnfIpv4Address" name="pnf-ipv4-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This is the IP address (IPv4) for the PNF itself. This is the IPv4 address that the PNF iself can be accessed at."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="pnfIpv6Address" name="pnf-ipv6-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This is the IP address (IPv6) for the PNF itself. This is the IPv6 address that the PNF iself can be accessed at."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="softwareVersions" name="software-versions" type="inventory.aai.onap.org.v14.SoftwareVersions"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v14.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v14.LagInterfaces"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>
+                <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status,model-invariant-id,model-version-id,operational-status,admin-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-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+            <xml-property name="requiredProps" value="pnf-name,in-maint"/>
+            </xml-properties>
+        </java-type>
+        <java-type name="SoftwareVersions">
+            <xml-properties>
+                <xml-property name="description" value="Collection of software versions."/>
+            </xml-properties>
+            <xml-root-element name="software-versions"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="softwareVersion" name="software-version" type="inventory.aai.onap.org.v14.SoftwareVersion"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SoftwareVersion">
+            <xml-root-element name="software-version"/>
+            <java-attributes>
+                <xml-element java-attribute="softwareVersionId" name="software-version-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Identifier of the software version"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="isActiveSwVer" name="is-active-sw-ver" 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 software-version is the active one (activeSw = true)"/>
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Software Version"/>
+                <xml-property name="indexedProps" value="softwareVersionId,isActiveSwVer"/>
+                <xml-property name="dependentOn" value="pnf"/>
+                <xml-property name="container" value="pnf"/>
+            <xml-property name="requiredProps" value="software-version-id,is-active-sw-ver"/>
+            <xml-property name="uriTemplate" value="/pnf/software-version/{software-version-id}"/>
+            </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.onap.org.v14.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="serviceProviderBandwidthUpValue" name="service-provider-bandwidth-up-value" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Upstream Bandwidth value agreed with the service provider"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceProviderBandwidthUpUnits" name="service-provider-bandwidth-up-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Units for the upstream BW value"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceProviderBandwidthDownValue" name="service-provider-bandwidth-down-value" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Downstream Bandwidth value agreed with the service provider"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceProviderBandwidthDownUnits" name="service-provider-bandwidth-down-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Units for downstream BW value"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v14.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-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+            <xml-property name="requiredProps" value="vig-address-type"/>
+            </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.onap.org.v14.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="ATT 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,ucpeHostName,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.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v14.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-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+                       <xml-property name="requiredProps" value="ipsec-configuration-id"/>
+            </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.onap.org.v14.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.onap.org.v14.ReservedPropNames"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v14.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="aaiUuid,edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV"/>
+                <xml-property name="uniqueProps" value="aai-uuid"/>
+                <xml-property name="indexedProps" value="aai-uuid"/>
+            </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="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+                               <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+                               <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+                               <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+                               <xml-element java-attribute="aaiUuid" name="aai-uuid" type="java.lang.String"/>
+                       </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.onap.org.v14.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-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-invariant-id}"/>
+            <xml-property name="requiredProps" value="model-invariant-id,model-type"/>
+            </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.onap.org.v14.ModelVers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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.onap.org.v14.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,distribution-status"/>
+                <xml-property name="uniqueProps" value="model-version-id"/>
+                <xml-property name="container" value="model-vers"/>
+                <xml-property name="uriTemplate" value="/model-vers/model-ver/{model-version-id}"/>
+            <xml-property name="requiredProps" value="model-version-id,model-name,model-version"/>
+            </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="distributionStatus" name="distribution-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Distribution Status"/>
+                    </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.onap.org.v14.ModelElements"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v14.Metadata"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+            <xml-property name="requiredProps" value="model-element-uuid,new-data-del-flag,cardinality"/>
+            </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.onap.org.v14.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.onap.org.v14.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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+            <xml-property name="requiredProps" value="model-constraint-uuid,constrained-element-set-uuid-to-replace"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+            <xml-property name="requiredProps" value="constrained-element-set-uuid,constraint-type,check-type"/>
+            </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.onap.org.v14.ElementChoiceSets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+            <xml-property name="requiredProps" value="element-choice-set-uuid,element-choice-set-name"/>
+            </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.onap.org.v14.ModelElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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.onap.org.v14.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-property name="requiredProps" value="named-query-uuid,named-query-name,named-query-version"/>
+            <xml-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+            </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.onap.org.v14.NamedQueryElements"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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.onap.org.v14.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-property name="requiredProps" value="named-query-element-uuid"/>
+            <xml-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+            </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.onap.org.v14.NamedQueryElements"/>
+                               <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v14.RelatedLookups"/>
+                               <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v14.PropertyConstraints"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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.onap.org.v14.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-property name="requiredProps" value="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property"/>
+            <xml-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="requiredProps" value="property-constraint-uuid,constraint-type,property-name,property-value"/>
+            <xml-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+            </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.onap.org.v14.QueryParameters"/>
+                               <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v14.InstanceFilters"/>
+                               <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.onap.org.v14.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.onap.org.v14.NamedQuery"/>
+                               <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v14.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-property name="requiredProps" value="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version"/>
+            </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.onap.org.v14.ModelVers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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.onap.org.v14.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.onap.org.v14.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.onap.org.v14.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.onap.org.v14.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.onap.org.v14.ExtraProperties"/>
+                               <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v14.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.onap.org.v14.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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+            <xml-property name="requiredProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+            </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.onap.org.v14.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="instanceGroupRole" name="instance-group-role" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="role of the instance group."/>
+                    </xml-properties>
+                </xml-element>
+
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="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" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ASDC model version uid for this resource 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="description" name="description" required="false" 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="instanceGroupType" name="instance-group-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="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="instanceGroupName" name="instance-group-name" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Instance-Group Name."/>
+                    </xml-properties>
+                </xml-element>
+
+                <xml-element java-attribute="instanceGroupFunction" name="instance-group-function" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Instance-Group Function"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+            </java-attributes>
+
+            <xml-properties>
+                <xml-property name="description" value="General mechanism for grouping instances"/>
+                <xml-property name="nameProps" value="description,instance-group-name"/>
+                <xml-property name="uniqueProps" value="id"/>
+                <xml-property name="searchable" value="id,description"/>
+                <xml-property name="indexedProps" value="id,type,sub-type,model-invariant-id,model-version-id"/>
+                <xml-property name="container" value="instance-groups"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/instance-groups/instance-group/{id}"/>
+            <xml-property name="requiredProps" value="id,instance-group-type"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+            <xml-property name="requiredProps" value="segmentation-id"/>
+            </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.onap.org.v14.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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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="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="allottedResourceName" name="allotted-resource-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the name of this allotted-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessProviderId" name="access-provider-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access provider of this allotted-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessClientId" name="access-client-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access client of this allotted-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessTopologyId" name="access-topology-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access topology of this allotted-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessNodeId" name="access-node-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access node of this allotted-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessLtpId" name="access-ltp-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access ltp of this allotted-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cvlan" name="cvlan" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the cvlan of this allotted-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vpnName" name="vpn-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the vpn-name of this allotted-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.onap.org.v14.TunnelXconnects"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.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,allotted-resource-name"/>
+                <xml-property name="uniqueProps" value="id"/>
+                               <xml-property name="indexedProps" value="id,model-invariant-id,model-version-id,type,role,allotted-resource-name,access-provider-id,access-client-id,access-topology-id,access-node-id,access-ltp-id,vpn-name"/>
+                <xml-property name="dependentOn" value="service-instance"/>
+                <xml-property name="container" value="allotted-resources"/>
+                <!--  <xml-property name="namespace" value="network" /> -->
+                <xml-property name="uriTemplate" value="/allotted-resources/allotted-resource/{id}"/>
+            <xml-property name="requiredProps" value="id"/>
+            </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.onap.org.v14.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="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.onap.org.v14.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-property name="uriTemplate" value="/tunnel-xconnects/tunnel-xconnect/{id}"/>
+            <xml-property name="requiredProps" value="id"/>
+            </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.onap.org.v14.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.onap.org.v14.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"/>
+                <xml-property name="container" value="entitlements"/>
+                <xml-property name="uriTemplate" value="/entitlements/entitlement/{group-uuid}/{resource-uuid}"/>
+            <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+            </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.onap.org.v14.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.onap.org.v14.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"/>
+                <xml-property name="container" value="licenses"/>
+                <xml-property name="uriTemplate" value="/licenses/license/{group-uuid}/{resource-uuid}"/>
+            <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+            </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,generic-vnf"/>
+                <xml-property name="abstract" value="true"/>
+            <xml-property name="requiredProps" value="vnf-id"/>
+            </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.onap.org.v14.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.onap.org.v14.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-property name="uriTemplate" value="/network/zones/zone/{zone-id}"/>
+            <xml-property name="requiredProps" value="zone-id,zone-name,design-type,zone-context"/>
+            </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.onap.org.v14.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" type="java.lang.String" xml-key="true">
+                    <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" type="java.lang.String" xml-key="true">
+                    <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.onap.org.v14.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-property name="uriTemplate" value="/route-targets/route-target/{global-route-target}/{route-target-role}"/>
+            <xml-property name="requiredProps" value="global-route-target,route-target-role"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="SriovPfs">
+            <xml-properties>
+                <xml-property name="description" value="Collection of SR-IOV Physical Functions."/>
+            </xml-properties>
+            <xml-root-element name="sriov-pfs"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="sriovPf" name="sriov-pf" type="inventory.aai.onap.org.v14.SriovPf"/>
+            </java-attributes>
+        </java-type>
+        <java-type name="SriovPf">
+            <xml-root-element name="sriov-pf"/>
+            <java-attributes>
+                <xml-element java-attribute="pfPciId" name="pf-pci-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Identifier for the sriov-pf"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v14.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="SR-IOV Physical Function"/>
+                <xml-property name="indexedProps" value="pf-pci-id"/>
+                <xml-property name="dependentOn" value="p-interface"/>
+                <xml-property name="container" value="sriov-pfs"/>
+                <xml-property name="uriTemplate" value="/sriov-pfs/sriov-pf/{pf-pci-id}"/>
+            <xml-property name="requiredProps" value="pf-pci-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="HostRoutes">
+            <xml-root-element name="host-routes"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="hostRoute" name="host-route" type="inventory.aai.onap.org.v14.HostRoute"/>
+            </java-attributes>
+        </java-type>
+        <java-type name="HostRoute">
+            <xml-root-element name="host-route"/>
+            <java-attributes>
+                <xml-element java-attribute="hostRouteId" name="host-route-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="host-route id"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routePrefix" name="route-prefix" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="subnet prefix"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nextHop" name="next-hop" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Could be ip-address, hostname, or service-instance"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nextHopType" name="next-hop-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Should be ip-address, hostname, or service-instance to match next-hop"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v14.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="host-route-id"/>
+                <xml-property name="dependentOn" value="subnet"/>
+                <xml-property name="container" value="host-routes"/>
+                <xml-property name="uriTemplate" value="/host-routes/host-route/{host-route-id}"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VipIpv4AddressList">
+            <xml-root-element name="vip-ipv4-address-list"/>
+            <java-attributes>
+                <xml-element java-attribute="vipIpv4Address" name="vip-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="vipIpv4PrefixLength" name="vip-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.onap.org.v14.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="IPv4 Address Range"/>
+                <xml-property name="indexedProps" value="vip-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+            <xml-property name="uriTemplate" value="/vip-ipv4-address-list/{vip-ipv4-address}"/>
+            <xml-property name="requiredProps" value="vip-ipv4-address"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VipIpv6AddressList">
+            <xml-root-element name="vip-ipv6-address-list"/>
+            <java-attributes>
+                <xml-element java-attribute="vipIpv6Address" name="vip-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="vipIpv6PrefixLength" name="vip-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.onap.org.v14.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="IPv6 Address Range"/>
+                <xml-property name="indexedProps" value="vip-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+            <xml-property name="uriTemplate" value="/vip-ipv6-address-list/{vip-ipv6-address}"/>
+            <xml-property name="requiredProps" value="vip-ipv6-address"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="OperationalEnvironments">
+            <xml-properties>
+                <xml-property name="description" value="a logical partition of the cloud which allows to have multiple environments in the production AIC."/>
+            </xml-properties>
+            <xml-root-element name="operational-environments"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="operationalEnvironment" name="operational-environment" type="inventory.aai.onap.org.v14.OperationalEnvironment"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="OperationalEnvironment">
+            <xml-root-element name="operational-environment"/>
+            <java-attributes>
+                <xml-element java-attribute="operationalEnvironmentId" name="operational-environment-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of an operational environment"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalEnvironmentName" name="operational-environment-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Operational Environment name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalEnvironmentType" name="operational-environment-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Operational Environment Type."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalEnvironmentStatus" name="operational-environment-status" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Status"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tenantContext" name="tenant-context" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Tenant Context."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="workloadContext" name="workload-context" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Workload Context."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v14.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="It is a logical partition of the cloud which allows to have multiple environments in the production AIC."/>
+                <xml-property name="indexedProps" value="operational-environment-id"/>
+                <xml-property name="nameProps" value="operational-environment-name"/>
+                <xml-property name="uniqueProps" value="operational-environment-id"/>
+                <xml-property name="container" value="operational-environments"/>
+                <xml-property name="namespace" value="cloud-infrastructure"/>
+                <xml-property name="uriTemplate" value="/cloud-infrastructure/operational-environments/operational-environment/{operational-environment-id}"/>
+            <xml-property name="requiredProps" value="operational-environment-id,operational-environment-name,operational-environment-type,operational-environment-status,tenant-context,workload-context"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="ForwardingPaths">
+            <xml-root-element name="forwarding-paths"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="forwardingPath" name="forwarding-path" type="inventory.aai.onap.org.v14.ForwardingPath"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ForwardingPath">
+            <xml-root-element name="forwarding-path"/>
+            <xml-properties>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="indexedProps" value="forwarding-path-id,forwarding-path-name"/>
+                <xml-property name="description" value="Entity that describes the sequenced forwarding path between interfaces of services or resources"/>
+                <xml-property name="container" value="forwarding-paths"/>
+                <xml-property name="nameProps" value="forwarding-path-name"/>
+                <xml-property name="uniqueProps" value="forwarding-path-id"/>
+                <xml-property name="uriTemplate" value="/network/forwarding-paths/forwarding-path/{forwarding-path-id}"/>
+            <xml-property name="requiredProps" value="forwarding-path-id,forwarding-path-name"/>
+            </xml-properties>
+            <java-attributes>
+                <xml-element java-attribute="forwardingPathId" name="forwarding-path-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of this FP"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="forwardingPathName" name="forwarding-path-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the FP"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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="the self link for this FP"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="forwarders" name="forwarders" type="inventory.aai.onap.org.v14.Forwarders"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Forwarders">
+            <xml-root-element name="forwarders"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="forwarder" name="forwarder" type="inventory.aai.onap.org.v14.Forwarder"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Forwarder">
+            <xml-root-element name="forwarder"/>
+            <xml-properties>
+                <xml-property name="indexedProps" value="sequence"/>
+                <xml-property name="description" value="Entity describing a sequenced segment of forwarding path"/>
+                <xml-property name="container" value="forwarders"/>
+                <xml-property name="dependentOn" value="forwarding-path"/>
+                <xml-property name="uriTemplate" value="/forwarders/forwarder/{sequence}"/>
+            <xml-property name="requiredProps" value="sequence"/>
+            </xml-properties>
+            <java-attributes>
+                <xml-element java-attribute="sequence" name="sequence" required="true" type="java.lang.Integer" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of this segmentation"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="forwarderRole" name="forwarder-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ingress, intermediate, egress"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-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="ForwarderEvcs">
+            <xml-root-element name="forwarder-evcs"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="forwarderEvc" name="forwarder-evc" type="inventory.aai.onap.org.v14.ForwarderEvc"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ForwarderEvc">
+            <xml-root-element name="forwarder-evc"/>
+            <java-attributes>
+                <xml-element java-attribute="forwarderEvcId" name="forwarder-evc-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Key for forwarder-evc object"/>
+                    </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 from customer/ESP/ingress end of EVC, or reference to beater circuit on gateway/network/egress end of EVC"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ivlan" name="ivlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Internal VLAN."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="svlan" name="svlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="SVLAN value for ingress of egress forwarder."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cvlan" name="cvlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CVLAN value for ingress of egress forwarder."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanMappings" name="vlan-mappings" type="inventory.aai.onap.org.v14.VlanMappings"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-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="forwarder object is an optional child object of the Configuration object."/>
+                <xml-property name="dependentOn" value="configuration"/>
+                <xml-property name="uniqueProps" value="forwarder-evc-id"/>
+                <xml-property name="container" value="forwarder-evcs"/>
+                <xml-property name="uriTemplate" value="/forwarder-evcs/forwarder-evc/{forwarder-evc-id}"/>
+            <xml-property name="requiredProps" value="forwarder-evc-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VlanMappings">
+            <xml-properties>
+                <xml-property name="description" value="Collection of vlan mappings."/>
+            </xml-properties>
+            <xml-root-element name="vlan-mappings"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vlanMapping" name="vlan-mapping" type="inventory.aai.onap.org.v14.VlanMapping"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VlanMapping">
+            <xml-root-element name="vlan-mapping"/>
+            <java-attributes>
+                <xml-element java-attribute="vlanMappingId" name="vlan-mapping-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Key for vlan-mapping object."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="uniCvlan" name="uni-cvlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CVLAN value from the UNI/ingress side of the SAREA gateway access device."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nniSvlan" name="nni-svlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="SVLAN value from the NNI/egress side of the SAREA gateway access device."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nniCvlan" name="nni-cvlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CVLAN value from the NNI/egress side of the SAREA gateway access device."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ivLan" name="ivlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The internal VLAN ('IVLAN') value.  Specific to Arista devices."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="vlan-mapping object is an optional child object of the forwarder-evc object.  A given forwarder-evc object may have multiple vlan-mapping objects."/>
+                <xml-property name="dependentOn" value="forwarder-evc"/>
+                <xml-property name="uniqueProps" value="vlan-mapping-id"/>
+                <xml-property name="container" value="vlan-mappings"/>
+                <xml-property name="uriTemplate" value="/vlan-mappings/vlan-mapping/{vlan-mapping-id}"/>
+            <xml-property name="requiredProps" value="vlan-mapping-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Evcs">
+            <xml-root-element name="evcs"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="evc" name="evc" type="inventory.aai.onap.org.v14.Evc"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Evc">
+            <xml-root-element name="evc"/>
+            <java-attributes>
+                <xml-element java-attribute="evcId" name="evc-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique/key field for the evc object"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="forwardingPathTopology" name="forwarding-path-topology" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Point-to-Point, Multi-Point"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cirValue" name="cir-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Commited Information Rate"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cirUnits" name="cir-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CIR units"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="connectionDiversityGroupId" name="connection-diversity-group-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Diversity Group ID"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceHours" name="service-hours" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="formerly Performance Group"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="espEvcCircuitId" name="esp-evc-circuit-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="EVC Circuit ID of ESP EVC"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="espEvcCirValue" name="esp-evc-cir-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Committed Information Rate (For ESP)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="espEvcCirUnits" name="esp-evc-cir-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CIR units (For ESP)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="espItuCode" name="esp-itu-code" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Identifies ESP"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="collectorPopClli" name="collector-pop-clli" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Collector POP CLLI (from the hostname of the access pnf)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interConnectTypeIngress" name="inter-connect-type-ingress" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Interconnect type on ingress side of EVC."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tagmodeAccessIngress" name="tagmode-access-ingress" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="tagode for collector side of EVC"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tagmodeAccessEgress" name="tagmode-access-egress" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="tagMode for network side of EVC"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-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="evc object is an optional child object of the Configuration object."/>
+                <xml-property name="dependentOn" value="configuration"/>
+                <xml-property name="uniqueProps" value="evc-id"/>
+                <xml-property name="container" value="evcs"/>
+                <xml-property name="uriTemplate" value="/evcs/evc/{evc-id}"/>
+            <xml-property name="requiredProps" value="evc-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Collections">
+            <xml-root-element name="collections"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="collection" name="collection" type="inventory.aai.onap.org.v14.Collection"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Collection">
+            <xml-root-element name="collection"/>
+            <java-attributes>
+                <xml-element java-attribute="collectionId" name="collection-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Collection Object UUID"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="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="Model Version"/>
+                        <xml-property name="visibility" value="deployment"/>
+                        <xml-property name="requires" value="model-invariant-id"/>
+                        <xml-property name="dbAlias" value="model-version-id-local"/>
+                        <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="collectionName" name="collection-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="collection name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="collectionType" name="collection-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Collection type"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="collectionRole" name="collection-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Collection Role"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="collectionFunction" name="collection-function" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Collection function"/>
+                    </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="collectionCustomizationId" name="collection-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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-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="namespace" value="network"/>
+                <xml-property name="description" value="represents the collection resource in the TOSCA model"/>
+                <xml-property name="uniqueProps" value="collection-id"/>
+                <xml-property name="indexedProps" value="collection-id,model-invariant-id,model-version-id"/>
+                <xml-property name="container" value="collections"/>
+                <xml-property name="uriTemplate" value="/network/collections/collection/{collection-id}"/>
+            <xml-property name="requiredProps" value="collection-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Cps">
+            <xml-properties>
+                <xml-property name="description" value="Collection of connection points."/>
+            </xml-properties>
+            <xml-root-element name="cps"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="cp" name="cp" type="inventory.aai.onap.org.v14.Cp"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Cp">
+            <xml-root-element name="cp"/>
+            <java-attributes>
+                <xml-element java-attribute="cpInstanceId" name="cp-instance-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of the connection point."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="portId" name="port-id" required="false" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="port index to represent multiple CPs on VNFC connected to same network."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v14.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v14.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v14.L3InterfaceIpv6AddressList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="point of attachment from services or resources to a virtual link or network."/>
+                <xml-property name="uniqueProps" value="cp-instance-id"/>
+                <xml-property name="dependentOn" value="vnfc"/>
+                <xml-property name="container" value="cps"/>
+                <xml-property name="uriTemplate" value="/cps/cp/{cp-instance-id}"/>
+            <xml-property name="requiredProps" value="cp-instance-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VlanTags">
+            <xml-root-element name="vlan-tags"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vlanTag" name="vlan-tag" type="inventory.aai.onap.org.v14.VlanTag"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VlanTag">
+            <xml-root-element name="vlan-tag"/>
+            <java-attributes>
+                <xml-element java-attribute="vlanTagId" name="vlan-tag-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of the vlan-tag"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanTagRole" name="vlan-tag-role" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="purpose (l3-network to be connected to)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="VLAN inner id"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" required="true" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="VLAN outer id"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="isPrivate" name="is-private" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="is VLAN private?"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v14.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="container" value="vlan-tags"/>
+                <xml-property name="uniqueProps" value="vlan-tag-id"/>
+                <xml-property name="uriTemplate" value="/network/vlan-tags/vlan-tag/{vlan-tag-id}"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="NetworkTechnologies">
+            <xml-properties>
+                <xml-property name="description" value=" The network-technology object is used to capture the supported network technologies of a cloud-region."/>
+            </xml-properties>
+            <xml-root-element name="network-technologies"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="networkTechnology" name="network-technology" type="inventory.aai.onap.org.v14.NetworkTechnology"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="NetworkTechnology">
+            <xml-root-element name="network-technology"/>
+            <java-attributes>
+                <xml-element java-attribute="networkTechnologyId" name="network-technology-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier of the network-technology object (UUID)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkTechnologyName" name="network-technology-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The network-technology  that a cloud-region can support. Current valid values- CONTRAIL AIC_SR_IOV OVS STANDARD-SR-IOV"/>
+                    </xml-properties>
+                </xml-element>               
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v14.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="The network-technology object is used to capture the supported network technologies of a cloud-region."/>
+                <xml-property name="nameProps" value="network-technology-id,network-technology-name"/>
+                <xml-property name="uniqueProps" value="network-technology-id"/>
+                <xml-property name="container" value="network-technologies"/>
+                <xml-property name="namespace" value="cloud-infrastructure"/>
+                <xml-property name="uriTemplate" value="/cloud-infrastructure/network-technologies/network-technology/{network-technology-id}"/>
+            <xml-property name="requiredProps" value="network-technology-id,network-technology-name"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="SpPartner">
+            <xml-root-element name="sp-partner"/>
+            <java-attributes>
+                <xml-element java-attribute="spPartnerId" name="sp-partner-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Uniquely identifies this sp-partner by id"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="url" name="url" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Store the URL of this sp-partner."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="callsource" name="callsource" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Store the callsource of this sp-partner."/>
+                    </xml-properties>
+                </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the operational-status for this sp-partner."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the model-customization-id for this sp-partner."/>
+                                       </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 sp-partner 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 sp-partner 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                                       </xml-properties>
+                               </xml-element>
+
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Instance of an sp-partner"/>
+                <xml-property name="indexedProps" value="sp-partner-id,url,callsource"/>
+                <xml-property name="nameProps" value="sp-partner-id"/>
+                <xml-property name="searchable" value="sp-partner-id"/>
+                <xml-property name="uniqueProps" value="sp-partner-id"/>
+                <xml-property name="container" value="sp-partners"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/sp-partners/sp-partner/{sp-partner-id}"/>
+            <xml-property name="requiredProps" value="sp-partner-id"/>
+            </xml-properties>
+        </java-type>
+        <java-type name="SpPartners">
+            <xml-root-element name="sp-partners"/>
+            <xml-properties>
+                <xml-property name="description" value="Collection of sp-partners"/>
+            </xml-properties>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="spPartner" name="sp-partner" type="inventory.aai.onap.org.v14.SpPartner"/>
+            </java-attributes>
+        </java-type>
+
+               <java-type name="Connectivity">
+                       <xml-root-element name="connectivity"/>
+                       <java-attributes>
+                               <xml-element java-attribute="connectivityId" name="connectivity-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Uniquely identifies this connectivity by id"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="bandwidthProfileName" name="bandwidth-profile-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the name of a bandwidth profile."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the type of a bandwidth profile."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cir" name="cir" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the CIR of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="eir" name="eir" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the EIR of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cbs" name="cbs" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the CBS of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ebs" name="ebs" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the EBS of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="colorAware" name="color-aware" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the color-awareness of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="couplingFlag" name="coupling-flag" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the coupling flag of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ethtSvcName" name="etht-svc-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="The ethernet service name for this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessProviderId" name="access-provider-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access provider of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessClientId" name="access-client-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access client of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessTopologyId" name="access-topology-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access topology of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessNodeId" name="access-node-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access node of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessLtpId" name="access-ltp-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access ltp of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="connectivitySelflink" name="connectivity-selflink" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the link to get more information for this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cvlan" name="cvlan" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the cvlan for this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the operational-status for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the model-customization-id for this object."/>
+                                       </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.org.v14.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Instance of a connectivity"/>
+                               <xml-property name="indexedProps" value="connectivity-id,etht-svc-name,bandwidth-profile-name,vpn-type,color-aware,coupling-flag,access-provider-id,access-client-id,access-topology-id,access-node-id,access-ltp-id,operational-status"/>
+                               <xml-property name="nameProps" value="etht-svc-name"/>
+                               <xml-property name="searchable" value="connectivity-id"/>
+                               <xml-property name="uniqueProps" value="connectivity-id"/>
+                               <xml-property name="container" value="connectivities"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="connectivity-id"/>
+            <xml-property name="uriTemplate" value="/network/connectivities/connectivity/{connectivity-id}"/>
+            </xml-properties>
+               </java-type>
+               <java-type name="Connectivities">
+                       <xml-root-element name="connectivities"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of connectivities"/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="connectivity" name="connectivity" type="inventory.aai.onap.org.v14.Connectivity"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="LanPortConfig">
+                       <xml-root-element name="lan-port-config"/>
+                       <java-attributes>
+                               <xml-element java-attribute="lanPortConfigId" name="lan-port-config-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Uniquely identifies this lan-port-config by id"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="lanPortConfigName" name="lan-port-config-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the name of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="description" name="description" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the description of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="deviceId" name="device-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the device-id of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="portId" name="port-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the port-id of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipv4Address" name="ipv4-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the ipv4-address of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipv6Address" name="ipv6-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the ipv6-address of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vlanTag" name="vlan-tag" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the vlan-tag of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="inputBandwidth" name="input-bandwidth" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the input-bandwidth of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="outputBandwidth" name="output-bandwidth" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the output-bandwidth of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="dhcpServices" name="dhcp-services" type="inventory.aai.onap.org.v14.DhcpServices"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Instance of a lan-port-config"/>
+                               <xml-property name="indexedProps" value="lan-port-config-id,lan-port-config-name,device-id,port-id,ipv4-address,ipv6-address,vlan-tag"/>
+                               <xml-property name="nameProps" value="lan-port-config-name"/>
+                               <xml-property name="searchable" value="lan-port-config-id"/>
+                               <xml-property name="uniqueProps" value="lan-port-config-id"/>
+                               <xml-property name="container" value="lan-port-configs"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="lan-port-config-id"/>
+            <xml-property name="uriTemplate" value="/network/lan-port-configs/lan-port-config/{lan-port-config-id}"/>
+            </xml-properties>
+               </java-type>
+               <java-type name="LanPortConfigs">
+                       <xml-root-element name="lan-port-configs"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of lan-port-configs"/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="lanPortConfig" name="lan-port-config" type="inventory.aai.onap.org.v14.LanPortConfig"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="DhcpService">
+                       <xml-root-element name="dhcp-service"/>
+                       <java-attributes>
+                               <xml-element java-attribute="dhcpServiceId" name="dhcp-service-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Uniquely identifies this dhcp-service by id"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serverIpv4Address" name="server-ipv4-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the server-ip4-address of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serverIpv6Address" name="server-ipv6-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the server-ipv6-address of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serviceEnable" name="service-enable" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the service-enable of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="dhcpServiceType" name="dhcp-service-type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the dhcp-service-type of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="leaseTime" name="lease-time" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the lease-time of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="domainName" name="domain-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the domain-name of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="dns" name="dns" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the dns of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ntpPrimary" name="ntp-primary" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the ntp-primary of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ntpSecondary" name="ntp-secondary" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the ntp-secondary of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="nbns" name="nbns" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the nbns of this dhcp-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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Instance of a dhcp-service"/>
+                               <xml-property name="indexedProps" value="dhcp-service-id,dhcp-service-type,domain-name,server-ipv4-address,server-ipv6-address"/>
+                               <xml-property name="nameProps" value="domain-name"/>
+                               <xml-property name="searchable" value="dhcp-service-id"/>
+                               <xml-property name="uniqueProps" value="dhcp-service-id"/>
+                               <xml-property name="container" value="dhcp-services"/>
+                               <xml-property name="dependentOn" value="lan-port-config"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="dhcp-service-id"/>
+            <xml-property name="uriTemplate" value="/network/dhcp-services/dhcp-service/{dhcp-service-id}"/>
+            </xml-properties>
+               </java-type>
+               <java-type name="DhcpServices">
+                       <xml-root-element name="dhcp-services"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of dhcp-services"/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="dhcpService" name="dhcp-service" type="inventory.aai.onap.org.v14.DhcpService"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="NetworkResource">
+                       <xml-root-element name="network-resource"/>
+                       <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="Uniquely identifies this network-resource by id"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="providerId" name="provider-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the provider of this network-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="clientId" name="client-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the client of this network-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="teTopoId" name="te-topo-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the te-topo of this network-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the link to get more information for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+
+                               <!-- Want to use pnf as sub-component, but workaround is to use COUSIN edge in relationship-list.
+                               <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v14.Pnfs" /> -->
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Instance of a network-resource"/>
+                               <xml-property name="indexedProps" value="network-id,provider-id,client-id,te-topo-id"/>
+                               <xml-property name="nameProps" value="network-id"/>
+                               <xml-property name="searchable" value="network-id"/>
+                               <xml-property name="uniqueProps" value="network-id"/>
+                               <xml-property name="container" value="network-resources"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="network-id"/>
+            <xml-property name="uriTemplate" value="/network/network-resources/network-resource/{network-id}"/>
+            </xml-properties>
+               </java-type>
+               <java-type name="NetworkResources">
+                       <xml-root-element name="network-resources"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of network-resources"/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="networkResource" name="network-resource" type="inventory.aai.onap.org.v14.NetworkResource"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="SiteResource">
+                       <xml-root-element name="site-resource"/>
+                       <java-attributes>
+                               <xml-element java-attribute="siteResourceId" name="site-resource-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Uniquely identifies this site-resource by id"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="siteResourceName" name="site-resource-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the name of this site-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="description" name="description" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the description of this site-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="type" name="type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the type of this site-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="role" name="role" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the role of this site-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="generatedSiteId" name="generated-site-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the generated-site-id of this site-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the link to get more information for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the operational-status for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the model-customization-id for this object."/>
+                                       </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.org.v14.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Instance of a site-resource"/>
+                               <xml-property name="indexedProps" value="site-resource-id,site-resource-name,type,role,generated-site-id,operational-status"/>
+                               <xml-property name="nameProps" value="site-resource-name"/>
+                               <xml-property name="searchable" value="site-resource-id"/>
+                               <xml-property name="uniqueProps" value="site-resource-id"/>
+                               <xml-property name="container" value="site-resources"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="site-resource-id"/>
+            <xml-property name="uriTemplate" value="/network/site-resources/site-resource/{site-resource-id}"/>
+            </xml-properties>
+               </java-type>
+               <java-type name="SiteResources">
+                       <xml-root-element name="site-resources"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of site-resources"/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="siteResource" name="site-resource" type="inventory.aai.onap.org.v14.SiteResource"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="SdwanVpns">
+                       <xml-root-element name="sdwan-vpns"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of sdwan-vpns"/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="sdwanVpn" name="sdwan-vpn" type="inventory.aai.onap.org.v14.SdwanVpn"/>
+                       </java-attributes>
+               </java-type>
+               <java-type name="SdwanVpn">
+                       <xml-root-element name="sdwan-vpn"/>
+                       <java-attributes>
+                               <xml-element java-attribute="sdwanVpnId" name="sdwan-vpn-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Uniquely identifies this sdwan-vpn by id"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="sdwanVpnName" name="sdwan-vpn-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the name of this sdwan-vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vxlanId" name="vxlan-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the vxlan-id of this sdwan-vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="topology" name="topology" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the topology of this sdwan-vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="tenantId" name="tenant-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the tenant-id of this sdwan-vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vpnId" name="vpn-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the vpn-id of this sdwan-vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the link to get more information for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the operational-status for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the model-customization-id for this object."/>
+                                       </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.org.v14.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Instance of an sdwan-vpn"/>
+                               <xml-property name="indexedProps" value="sdwan-vpn-id,sdwan-vpn-name,vxlan-id,topology,operational-status"/>
+                               <xml-property name="nameProps" value="sdwan-vpn-name"/>
+                               <xml-property name="searchable" value="sdwan-vpn-id"/>
+                               <xml-property name="uniqueProps" value="sdwan-vpn-id"/>
+                               <xml-property name="container" value="sdwan-vpns"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="sdwan-vpn-id"/>
+            <xml-property name="uriTemplate" value="/network/sdwan-vpns/sdwan-vpn/{sdwan-vpn-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="Devices">
+                       <xml-root-element name="devices"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of devices"/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="device" name="device" type="inventory.aai.onap.org.v14.Device"/>
+                       </java-attributes>
+               </java-type>
+               <java-type name="Device">
+                       <xml-root-element name="device"/>
+                       <java-attributes>
+                               <xml-element java-attribute="deviceId" name="device-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Uniquely identifies this device by id"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esn" name="esn" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the esn of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="deviceName" name="device-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the name of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="description" name="description" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the description of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vendor" name="vendor" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the vendor of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="class" name="class" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the class of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="type" name="type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the type of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="version" name="version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the version of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemIp" name="system-ip" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the system-ip of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemIpv4" name="system-ipv4" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the system-ipv4 of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemIpv6" name="system-ipv6" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the system-ipv6 of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the link to get more information for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the operational-status for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the model-customization-id for this object."/>
+                                       </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.org.v14.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Instance of a device"/>
+                               <xml-property name="indexedProps" value="device-id,device-name,esn,vendor,class,type,version,system-ip,system-ipv4,system-ipv6,operational-status"/>
+                               <xml-property name="nameProps" value="device-name"/>
+                               <xml-property name="searchable" value="device-id"/>
+                               <xml-property name="uniqueProps" value="device-id"/>
+                               <xml-property name="container" value="devices"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="device-id"/>
+            <xml-property name="uriTemplate" value="/network/devices/device/{device-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="WanPortConfig">
+                       <xml-root-element name="wan-port-config"/>
+                       <java-attributes>
+                               <xml-element java-attribute="wanPortConfigId" name="wan-port-config-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Uniquely identifies this wan-port-config by id"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="wanPortConfigName" name="wan-port-config-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the name of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="deviceId" name="device-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the device of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vlanId" name="vlan-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the vlan of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipAddress" name="ip-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the ip-address of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipv4Address" name="ipv4-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the ipv4-address of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipv6Address" name="ipv6-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the ipv6-address of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="providerIpAddress" name="provider-ip-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the provider-ip-address of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="providerIpv4Address" name="provider-ipv4-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the provider-ipv4-address of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="providerIpv6Address" name="provider-ipv6-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the provider-ipv6-address of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="inputBandwidth" name="input-bandwidth" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the input-bandwidth of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="outputBandwidth" name="output-bandwidth" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the output-bandwidth of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="description" name="description" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the description of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="portType" name="port-type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the port-type of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="portNumber" name="port-number" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the port-number of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="transportNetworkName" name="transport-network-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the transport-network-name of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="devicePortId" name="device-port-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the device-port-id of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="wanPortId" name="wan-port-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the wan-port-id of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the link to get more information for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the operational-status for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the model-customization-id for this object."/>
+                                       </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.org.v14.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Instance of a wan-port-config"/>
+                               <xml-property name="indexedProps" value="wan-port-config-id,wan-port-config-name,device-id,ip-address,ipv4-address,ipv6-address,port-type,port-number,device-port-id,wan-port-id,operational-status"/>
+                               <xml-property name="nameProps" value="wan-port-config-name"/>
+                               <xml-property name="searchable" value="wan-port-config-id"/>
+                               <xml-property name="uniqueProps" value="wan-port-config-id"/>
+                               <xml-property name="container" value="wan-port-configs"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="wan-port-config-id"/>
+            <xml-property name="uriTemplate" value="/network/wan-port-configs/wan-port-config/{wan-port-config-id}"/>
+            </xml-properties>
+               </java-type>
+               <java-type name="WanPortConfigs">
+                       <xml-root-element name="wan-port-configs"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of wan-port-configs"/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="wanPortConfig" name="wan-port-config" type="inventory.aai.onap.org.v14.WanPortConfig"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="ExtAaiNetworks">
+                       <xml-root-element name="ext-aai-networks"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="extAaiNetwork" name="ext-aai-network" type="inventory.aai.onap.org.v14.ExtAaiNetwork"/>
+                       </java-attributes>
+               </java-type>
+               <java-type name="ExtAaiNetwork">
+                       <xml-root-element name="ext-aai-network"/>
+                       <java-attributes>
+                               <xml-element java-attribute="aaiId" name="aai-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of the referenced AAI."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="schemaVersion" name="schema-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Schema version of the referenced AAI."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esrSystemInfo" name="esr-system-info" type="inventory.aai.onap.org.v14.EsrSystemInfo"/>
+
+                               <!-- Want to use these as sub-components, but workaround is to use COUSIN edges in relationship-list.
+                               <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.onap.org.v14.LogicalLinks" />
+                               <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v14.VpnBindings" />
+                               <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v14.Pnfs" />
+
+                               <xml-element java-attribute="connectivities" name="connectivities" type="inventory.aai.onap.org.v14.Connectivities" />
+                               <xml-element java-attribute="lanPortConfigs" name="lan-port-configs" type="inventory.aai.onap.org.v14.LanPortConfigs" />
+                               <xml-element java-attribute="networkResources" name="network-resources" type="inventory.aai.onap.org.v14.NetworkResources" />
+                               <xml-element java-attribute="siteResources" name="site-resources" type="inventory.aai.onap.org.v14.SiteResources" />
+                               <xml-element java-attribute="sdwanVpns" name="sdwan-vpns" type="inventory.aai.onap.org.v14.SdwanVpns" />
+                               <xml-element java-attribute="devices" name="devices" type="inventory.aai.onap.org.v14.Devices" />
+                               <xml-element java-attribute="wanPortConfigs" name="wan-port-configs" type="inventory.aai.onap.org.v14.WanPortConfigs" /> -->
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v14.RelationshipList"/>
+                               </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Refer to an external AAI in another ONAP."/>
+                               <xml-property name="indexedProps" value="aai-id"/>
+                               <xml-property name="searchable" value="aai-id"/>
+                               <xml-property name="container" value="ext-aai-networks"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="aai-id"/>
+            <xml-property name="uriTemplate" value="/network/ext-aai-networks/ext-aai-network/{aai-id}"/>
+            </xml-properties>
+               </java-type>
+
+       </java-types>
+</xml-bindings>
diff --git a/aai-schema/src/main/resources/onap/oxm/v15/aai_oxm_v15.xml b/aai-schema/src/main/resources/onap/oxm/v15/aai_oxm_v15.xml
new file mode 100644 (file)
index 0000000..e7aba88
--- /dev/null
@@ -0,0 +1,8673 @@
+<!--
+  ============LICENSE_START=======================================================
+  org.onap.aai
+  ================================================================================
+  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+  Copyright (C) 2018 Huawei Technologies (Australia) Pty Ltd. 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=========================================================
+  --><xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v15" xml-mapping-metadata-complete="true">
+       <xml-schema element-form-default="QUALIFIED">
+               <xml-ns namespace-uri="http://org.onap.aai.inventory/v15"/>
+       </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.onap.org.v15.Search"/>
+                               <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v15.Actions"/>
+                               <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v15.CloudInfrastructure"/>
+                               <xml-element java-attribute="externalSystem" name="external-system" type="inventory.aai.onap.org.v15.ExternalSystem"/>
+                               <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v15.Business"/>
+                               <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v15.ServiceDesignAndCreation"/>
+                               <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v15.Network"/>
+                               <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v15.AaiInternal"/>
+                               <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.onap.org.v15.Nodes"/>
+                               <xml-element java-attribute="common" name="common" type="inventory.aai.onap.org.v15.Common"/>
+                       </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.onap.org.v15.EdgeTagQueryResult"/>
+                               <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v15.EdgeTagQueryRequest"/>
+                               <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v15.SearchResults"/>
+                               <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.org.v15.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.onap.org.v15.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.onap.org.v15.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.onap.org.v15.InventoryItemData"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v15.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.onap.org.v15.StartNodeFilter"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v15.IncludeNodeFilter"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v15.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.onap.org.v15.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.onap.org.v15.OamNetworks"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.org.v15.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.onap.org.v15.DvsSwitches"/>
+                               <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.org.v15.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.onap.org.v15.Update"/>
+                               <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v15.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-property name="requiredProps" value="update-node-type"/>
+            </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.onap.org.v15.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.onap.org.v15.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.onap.org.v15.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.onap.org.v15.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="ExternalSystem">
+                       <xml-properties>
+                               <xml-property name="description" value="Namespace for external system."/>
+                       </xml-properties>
+                       <xml-root-element name="external-system"/>
+                       <java-attributes>
+                               <xml-element java-attribute="esrEmsList" name="esr-ems-list" type="inventory.aai.onap.org.v15.EsrEmsList"/>
+                               <xml-element java-attribute="esrVnfmList" name="esr-vnfm-list" type="inventory.aai.onap.org.v15.EsrVnfmList"/>
+                               <xml-element java-attribute="esrThirdpartySdncList" name="esr-thirdparty-sdnc-list" type="inventory.aai.onap.org.v15.EsrThirdpartySdncList"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="EsrEmsList">
+                       <xml-root-element name="esr-ems-list"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrEms" name="esr-ems" type="inventory.aai.onap.org.v15.EsrEms"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrEms">
+                       <xml-root-element name="esr-ems"/>
+                       <java-attributes>
+                               <xml-element java-attribute="emsId" name="ems-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of EMS."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v15.EsrSystemInfoList"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist EMS address information used by EMS driver."/>
+                               <xml-property name="indexedProps" value="ems-id"/>
+                               <xml-property name="searchable" value="ems-id"/>
+                               <xml-property name="container" value="esr-ems-list"/>
+                               <xml-property name="namespace" value="external-system"/>
+                       <xml-property name="requiredProps" value="ems-id"/>
+            <xml-property name="uriTemplate" value="/external-system/esr-ems-list/esr-ems/{ems-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="EsrVnfmList">
+                       <xml-root-element name="esr-vnfm-list"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrVnfm" name="esr-vnfm" type="inventory.aai.onap.org.v15.EsrVnfm"/>
+                       </java-attributes>
+            <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrVnfm">
+                       <xml-root-element name="esr-vnfm"/>
+                       <java-attributes>
+                               <xml-element java-attribute="vnfmId" name="vnfm-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of VNFM."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vimId" name="vim-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="indecate the VIM to deploy VNF."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="certificateUrl" name="certificate-url" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="certificate url of VNFM."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v15.EsrSystemInfoList"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist VNFM address information used by VF-C."/>
+                               <xml-property name="indexedProps" value="vnfm-id"/>
+                               <xml-property name="searchable" value="vnfm-id"/>
+                               <xml-property name="container" value="esr-vnfm-list"/>
+                               <xml-property name="namespace" value="external-system"/>
+                       <xml-property name="requiredProps" value="vnfm-id"/>
+            <xml-property name="uriTemplate" value="/external-system/esr-vnfm-list/esr-vnfm/{vnfm-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="EsrThirdpartySdncList">
+                       <xml-root-element name="esr-thirdparty-sdnc-list"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrThirdpartySdnc" name="esr-thirdparty-sdnc" type="inventory.aai.onap.org.v15.EsrThirdpartySdnc"/>
+                       </java-attributes>
+            <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrThirdpartySdnc">
+                       <xml-root-element name="esr-thirdparty-sdnc"/>
+                       <java-attributes>
+                               <xml-element java-attribute="thirdpartySdncId" name="thirdparty-sdnc-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of SDNC."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="location" name="location" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="used for DC type to indicate the location of SDNC, such as Core or Edge."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="productName" name="product-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="password used to access SDNC 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="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v15.EsrSystemInfoList"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist SDNC address information used by ONAP SDNC."/>
+                               <xml-property name="indexedProps" value="sdnc-id"/>
+                               <xml-property name="searchable" value="sdnc-id"/>
+                               <xml-property name="container" value="esr-thirdparty-sdnc-list"/>
+                               <xml-property name="namespace" value="external-system"/>
+                       <xml-property name="requiredProps" value="thirdparty-sdnc-id"/>
+            <xml-property name="uriTemplate" value="/external-system/esr-thirdparty-sdnc-list/esr-thirdparty-sdnc/{thirdparty-sdnc-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="EsrSystemInfoList">
+                       <xml-root-element name="esr-system-info-list"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of persistent block-level external system auth info."/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="esrSystemInfo" name="esr-system-info" type="inventory.aai.onap.org.v15.EsrSystemInfo"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="maximumDepth" value="0"/>
+                       </xml-properties>
+               </java-type>
+
+               <java-type name="EsrSystemInfo">
+                       <xml-root-element name="esr-system-info"/>
+                       <java-attributes>
+                               <xml-element java-attribute="esrSystemInfoId" name="esr-system-info-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of esr system info."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemName" name="system-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="name of external system."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="type" name="type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="type of external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vendor" name="vendor" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="vendor of external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="version" name="version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="version of external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serviceUrl" name="service-url" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="url used to access external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="userName" name="user-name" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="username used to access external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="password" name="password" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="password used to access external systems."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemType" name="system-type" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="it could be vim/vnfm/thirdparty-sdnc/ems-resource/ems-performance/ems-alarm."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="protocol" name="protocol" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="protocol of third party SDNC, for example netconf/snmp."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="sslCacert" name="ssl-cacert" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ca file content if enabled ssl on auth-url."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element default-value="false" java-attribute="sslInsecure" name="ssl-insecure" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Whether to verify VIM's certificate."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipAddress" name="ip-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="service IP of ftp server."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="port" name="port" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="service port of ftp server."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cloudDomain" name="cloud-domain" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="domain info for authentication."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="defaultTenant" name="default-tenant" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="default tenant of VIM."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="passive" name="passive" type="java.lang.Boolean">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ftp passive mode or not."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="remotePath" name="remote-path" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="resource or performance data file path."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemStatus" name="system-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="the status of external system."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="openstackRegionId" name="openstack-region-id" type="java.lang.String">
+                                       <xml-properties>
+                                                  <xml-property name="description" value="OpenStack region ID used by MultiCloud plugin to interact with an OpenStack 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.onap.org.v15.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Persist common address information of external systems."/>
+                               <xml-property name="indexedProps" value="esr-system-info-id,system-name,system-type"/>
+                               <xml-property name="searchable" value="esr-system-info-id,system-name,system-type"/>
+                               <xml-property name="container" value="esr-system-info-list"/>
+                               <xml-property name="dependentOn" value="cloud-region,esr-ems,esr-vnfm,esr-thirdparty-sdnc,ext-aai-network"/>
+                       <xml-property name="requiredProps" value="esr-system-info-id,user-name,password,system-type"/>
+            <xml-property name="uriTemplate" value="/esr-system-info-list/esr-system-info/{esr-system-info-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="HpaCapabilities">
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of HPA Capabilities"/>
+                       </xml-properties>
+                       <xml-root-element name="hpa-capabilities"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="hpaCapability" name="hpa-capability" type="inventory.aai.onap.org.v15.HpaCapability"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="HpaCapability">
+                       <xml-root-element name="hpa-capability"/>
+                       <java-attributes>
+                               <xml-element java-attribute="hpaCapabilityId" name="hpa-capability-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="UUID to uniquely identify a HPA capability"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="hpaFeature" name="hpa-feature" required="true" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Name of the HPACapability"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="hpaVersion" name="hpa-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="HPA schema version"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="architecture" name="architecture" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Hardware architecture"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v15.RelationshipList"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="hpaFeatureAttributes" name="hpa-feature-attributes" type="inventory.aai.onap.org.v15.HpaFeatureAttributes"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Represents a HPA capability"/>
+                               <xml-property name="indexedProps" value="hpa-feature,architecture,hpa-capability-id"/>
+                               <xml-property name="dependentOn" value="flavor,cloud-region"/>
+                               <xml-property name="container" value="hpa-capabilities"/>
+                       <xml-property name="requiredProps" value="hpa-capability-id,hpa-feature"/>
+            <xml-property name="uriTemplate" value="/hpa-capabilities/hpa-capability/{hpa-capability-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="HpaFeatureAttributes">
+                       <xml-root-element name="hpa-feature-attributes"/>
+                       <java-attributes>
+                               <xml-element java-attribute="hpaAttributeKey" name="hpa-attribute-key" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="name of the specific HPA attribute"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="hpaAttributeValue" name="hpa-attribute-value" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="JSON string specifying the value, unit and type of the specific HPA attribute"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v15.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="HPA Capability Feature attributes"/>
+                               <xml-property name="indexedProps" value="hpa-attribute-key"/>
+                               <xml-property name="dependentOn" value="hpa-capability"/>
+                       <xml-property name="requiredProps" value="hpa-attribute-key"/>
+            </xml-properties>
+               </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.onap.org.v15.Complexes"/>
+                <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v15.CloudRegions"/>
+                <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v15.NetworkProfiles"/>
+                <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v15.Pservers"/>
+                <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v15.VirtualDataCenters"/>
+                <xml-element java-attribute="operationalEnvironments" name="operational-environments" type="inventory.aai.onap.org.v15.OperationalEnvironments"/>
+                <xml-element java-attribute="networkTechnologies" name="network-technologies" type="inventory.aai.onap.org.v15.NetworkTechnologies"/>
+            </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.onap.org.v15.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="sriovAutomation" name="sriov-automation" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Whether the cloud region supports (true) or does not support (false) SR-IOV automation."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cloudExtraInfo" name="cloud-extra-info" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="ESR inputs extra information about the VIM or Cloud which will be decoded by MultiVIM."/>
+                    </xml-properties>
+                </xml-element>
+                               <xml-element java-attribute="upgradeCycle" name="upgrade-cycle" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Upgrade cycle for the cloud region. For AIC regions upgrade cycle is designated by A,B,C 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="volumeGroups" name="volume-groups" type="inventory.aai.onap.org.v15.VolumeGroups"/>
+                <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v15.Tenants"/>
+                <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v15.Flavors"/>
+                <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v15.GroupAssignments"/>
+                <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v15.Snapshots"/>
+                <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v15.Images"/>
+                <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v15.DvsSwitches"/>
+                <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v15.OamNetworks"/>
+                <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v15.AvailabilityZones"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv4AddressList" name="vip-ipv4-address-list" type="inventory.aai.onap.org.v15.VipIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vipIpv6AddressList" name="vip-ipv6-address-list" type="inventory.aai.onap.org.v15.VipIpv6AddressList"/>
+                               <xml-element java-attribute="hpaCapabilities" name="hpa-capabilities" type="inventory.aai.onap.org.v15.HpaCapabilities">
+                                       <xml-properties>
+                                               <xml-property name="description" value="List of cloud-region specific HPA Capabilities"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esrSystemInfoList" name="esr-system-info-list" type="inventory.aai.onap.org.v15.EsrSystemInfoList"/>
+            </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-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+            <xml-property name="requiredProps" value="cloud-owner,cloud-region-id"/>
+            </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.onap.org.v15.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" 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.onap.org.v15.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-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+            <xml-property name="requiredProps" value="volume-group-id,vnf-type"/>
+            </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.onap.org.v15.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="relationshipLabel" name="relationship-label" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The edge label for this relationship."/>
+                    </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.onap.org.v15.RelationshipData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v15.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.onap.org.v15.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.onap.org.v15.CtagPools"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+            <xml-property name="requiredProps" value="physical-location-id,physical-location-type,street1,city,postal-code,country,region"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+            <xml-property name="requiredProps" value="target-pe,availability-zone-name,ctag-pool-purpose"/>
+            </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.onap.org.v15.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="tenantContext" name="tenant-context" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field will store the tenant context."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v15.Vservers"/>
+                <xml-element java-attribute="nosServers" name="nos-servers" type="inventory.aai.onap.org.v15.NosServers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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,tenant-context"/>
+                <xml-property name="searchable" value="tenant-id,tenant-name"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+                <xml-property name="container" value="tenants"/>
+                <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+            <xml-property name="requiredProps" value="tenant-id,tenant-name"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="NosServers">
+            <xml-properties>
+                <xml-property name="description" value="nos-server is the execution environment that will have images, certain versions of VNOS, running on it."/>
+            </xml-properties>
+            <xml-root-element name="nos-servers"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="nosServer" name="nos-server" type="inventory.aai.onap.org.v15.NosServer"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="NosServer">
+            <xml-root-element name="nos-server"/>
+            <java-attributes>
+                <xml-element java-attribute="nosServerId" name="nos-server-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier for this nos relative to its tenant"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nosServerName" name="nos-server-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of nos"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vendor" name="vendor" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="uCPE vendor"/>
+                    </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="nosServerSelflink" name="nos-server-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" 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). 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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="nos-server is the execution environment that will have images, certain versions of VNOS, running on it."/>
+                <xml-property name="indexedProps" value="nos-server-id"/>
+                <xml-property name="dependentOn" value="tenant"/>
+                <xml-property name="nameProps" value="nos-server-name"/>
+                <xml-property name="container" value="nos-servers"/>
+                <xml-property name="uriTemplate" value="/nos-servers/nos-server/{nos-server-id}"/>
+            <xml-property name="requiredProps" value="nos-server-id,nos-server-name,vendor,nos-server-selflink,in-maint"/>
+            </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.onap.org.v15.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" 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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v15.Volumes"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v15.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-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+            <xml-property name="requiredProps" value="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled"/>
+            </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.onap.org.v15.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="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prov Status of the logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="allowedAddressPairs" name="allowed-address-pairs" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Freeform field for storing an ip address, list of ip addresses or a subnet block."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="priority" name="priority" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Priority used for fail-over. Valid values 1-1024, with 1 being the highest priority."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlans" name="vlans" type="inventory.aai.onap.org.v15.Vlans"/>
+                <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v15.SriovVfs"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v15.LInterfaces"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v15.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v15.L3InterfaceIpv6AddressList"/>
+                <xml-element java-attribute="adminStatus" name="admin-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Administrative status of the interface. Valid values are 'up', 'down', or 'testing'."/>
+                    </xml-properties>
+                </xml-element>
+            </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,p-interface,vserver,lag-interface,l-interface"/>
+                <xml-property name="container" value="l-interfaces"/>
+                <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,is-port-mirrored,in-maint,is-ip-unnumbered"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+            <xml-property name="requiredProps" value="pci-id"/>
+            </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.onap.org.v15.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,vnfc,cp"/>
+            <xml-property name="uriTemplate" value="/l3-interface-ipv4-address-list/{l3-interface-ipv4-address}"/>
+            <xml-property name="requiredProps" value="l3-interface-ipv4-address"/>
+            </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.onap.org.v15.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="vpnKey" name="vpn-key" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This indicates the customers VPN ID associated with this vlan"/>
+                    </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="provStatus" name="prov-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Prov Status of the VLAN configuration related to a logical interface. Valid values [PREPROV/NVTPROV/PROV]."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="isIpUnnumbered" name="is-ip-unnumbered" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Flag indicating the interface uses the IP Unnumbered configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="isPrivate" name="is-private" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Private VLAN indicator."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v15.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v15.L3InterfaceIpv6AddressList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Definition of vlan"/>
+                <xml-property name="indexedProps" value="vlan-interface,vlan-id-inner,vpn-key"/>
+                <xml-property name="dependentOn" value="l-interface"/>
+                <xml-property name="container" value="vlans"/>
+                <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+            <xml-property name="requiredProps" value="vlan-interface,in-maint,is-ip-unnumbered"/>
+            </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.onap.org.v15.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,vnfc,cp"/>
+            <xml-property name="uriTemplate" value="/l3-interface-ipv6-address-list/{l3-interface-ipv6-address}"/>
+            <xml-property name="requiredProps" value="l3-interface-ipv6-address"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+            <xml-property name="requiredProps" value="volume-id,volume-selflink"/>
+            </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.onap.org.v15.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="Cloud Region 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="hpaCapabilities" name="hpa-capabilities" type="inventory.aai.onap.org.v15.HpaCapabilities">
+                                       <xml-properties>
+                                               <xml-property name="description" value="List of flavor specific HPA Capabilities"/>
+                                       </xml-properties>
+                               </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v15.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-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+            <xml-property name="requiredProps" value="flavor-id,flavor-name,flavor-selflink"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+            <xml-property name="requiredProps" value="snapshot-id"/>
+            </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.onap.org.v15.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.onap.org.v15.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="searchable" value="group-id,group-name"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+                <xml-property name="container" value="group-assignments"/>
+                <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+            <xml-property name="requiredProps" value="group-id,group-type,group-name"/>
+            </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.onap.org.v15.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.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v15.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-property name="uriTemplate" value="/images/image/{image-id}"/>
+            <xml-property name="requiredProps" value="image-id,image-name,image-os-distro,image-os-version,image-selflink"/>
+            </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.onap.org.v15.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-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+            <xml-property name="requiredProps" value="metaname,metaval"/>
+            </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 GenericVnfs."/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+            <xml-property name="requiredProps" value="switch-name,vcenter-url"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+            <xml-property name="requiredProps" value="nm-profile-name"/>
+            </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.onap.org.v15.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" 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). 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="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicates who owns and or manages the device."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="hostProfile" name="host-profile" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The host profile that defines the configuration of the pserver."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v15.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v15.LagInterfaces"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="hpaCapacity" name="hpa-capacity" type="inventory.aai.onap.org.v15.HpaCapacity"/>
+            </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="uniqueProps" value="hostname"/>
+                <xml-property name="container" value="pservers"/>
+                <xml-property name="namespace" value="cloud-infrastructure"/>
+                <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+            <xml-property name="requiredProps" value="hostname,in-maint"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="HpaCapacity">
+            <xml-root-element name="hpa-capacity"/>
+            <java-attributes>
+                <xml-element java-attribute="hpaCapacityKey" name="hpa-capacity-key" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Composite key formed with hpaFeature and append list of hpaFeatureAttributes needed for capacity check"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="hpaCapacityValue" name="hpa-capacity-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="JSON string specifying the capacity (total,free), unit and metadata of the specific HPA attribute"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="HPA Capacity information for compute node"/>
+                <xml-property name="indexedProps" value="hpa-capacity-key"/>
+                <xml-property name="dependentOn" value="hpa-capacity"/>
+            <xml-property name="requiredProps" value="hpa-capacity-key"/>
+            </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.onap.org.v15.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="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="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="macAddress" name="mac-addresss" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="MAC Address of the p-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 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="invStatus" name="inv-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="inventory status"/>
+                    </xml-properties>
+                </xml-element>
+                               <xml-element java-attribute="networkRef" name="network-ref" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the network-ref of this p-interface. Derived from ietf-restconf-notification that identifies a termination-point."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="transparent" name="transparent" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the transparent value of this p-interface."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="oper Status of this p-interface."/>
+                                       </xml-properties>
+                               </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="sriovPfs" name="sriov-pfs" type="inventory.aai.onap.org.v15.SriovPfs"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v15.LInterfaces"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Physical interface (e.g., nic)"/>
+                               <xml-property name="indexedProps" value="interface-name,prov-status,networkRef,operational-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-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,in-maint"/>
+            </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.onap.org.v15.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.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v15.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,vpls-pe,pnf"/>
+                <xml-property name="container" value="lag-interfaces"/>
+                <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+            <xml-property name="requiredProps" value="interface-name,in-maint"/>
+            </xml-properties>
+        </java-type>
+        
+        <java-type name="Vrfs">
+            <xml-root-element name="vrfs"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vrf" name="vrf" type="inventory.aai.onap.org.v15.Vrf"/>
+            </java-attributes>
+            <xml-properties>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Vrf">
+            <xml-root-element name="vrf"/>
+            <java-attributes>
+                <xml-element java-attribute="vrfId" name="vrf-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="VRF UUID."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vrfName" name="vrf-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="VRF Name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vrfDescription" name="vrf-description" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="VRF Description"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routeDistinguisher" name="route-distinguisher" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Route Distinguisher"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vrfType" name="vrf-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The type of vrf (bridge-domain as an example)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vrfAddressFamily" name="vrf-address-family" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="IP address family (v6/v4/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="routeTargets" name="route-targets" type="inventory.aai.onap.org.v15.RouteTargets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Definition of vrf"/>
+                <xml-property name="indexedProps" value="vrf-id"/>
+                <xml-property name="nameProps" value="vrf-name"/>
+                <xml-property name="dependentOn" value="pnf"/>
+                <xml-property name="container" value="vrfs"/>
+                <xml-property name="uriTemplate" value="/vrfs/vrf/{vrf-id}"/>
+            <xml-property name="requiredProps" value="vrf-id,vrf-name"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+            <xml-property name="requiredProps" value="network-uuid,network-name,cvlan-tag"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+            <xml-property name="requiredProps" value="availability-zone-name,hypervisor-type"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+            <xml-property name="requiredProps" value="vdc-id,vdc-name"/>
+            </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.onap.org.v15.Connectors"/>
+                <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.org.v15.Customers"/>
+                <xml-element java-attribute="linesOfBusiness" name="lines-of-business" type="inventory.aai.onap.org.v15.LinesOfBusiness"/>
+                <xml-element java-attribute="owningEntities" name="owning-entities" type="inventory.aai.onap.org.v15.OwningEntities"/>
+                <xml-element java-attribute="platforms" name="platforms" type="inventory.aai.onap.org.v15.Platforms"/>
+                <xml-element java-attribute="projects" name="projects" type="inventory.aai.onap.org.v15.Projects"/>
+
+                               <xml-element java-attribute="spPartners" name="sp-partners" type="inventory.aai.onap.org.v15.SpPartners"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Projects">
+            <xml-properties>
+                <xml-property name="description" value="Collection of projects"/>
+            </xml-properties>
+            <xml-root-element name="projects"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="project" name="project" type="inventory.aai.onap.org.v15.Project"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Project">
+            <xml-root-element name="project"/>
+            <java-attributes>
+                <xml-element java-attribute="projectName" name="project-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the project deploying a 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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes the project"/>
+                <xml-property name="indexedProps" value="project-name"/>
+                <xml-property name="uniqueProps" value="project-name"/>
+                <xml-property name="container" value="projects"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/projects/project/{project-name}"/>
+            <xml-property name="requiredProps" value="project-name"/>
+            </xml-properties>
+        </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.onap.org.v15.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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{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.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v15.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-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+            <xml-property name="requiredProps" value="resource-instance-id"/>
+            </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.onap.org.v15.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.onap.org.v15.ServiceSubscriptions"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+            <xml-property name="requiredProps" value="global-customer-id,subscriber-name,subscriber-type"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="LinesOfBusiness">
+            <xml-properties>
+                <xml-property name="description" value="Collection of lines-of-business"/>
+            </xml-properties>
+            <xml-root-element name="lines-of-business"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="lineOfBusiness" name="line-of-business" type="inventory.aai.onap.org.v15.LineOfBusiness"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="LineOfBusiness">
+            <xml-root-element name="line-of-business"/>
+            <java-attributes>
+                <xml-element java-attribute="lineOfBusinessName" name="line-of-business-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the line-of-business (product)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes a line-of-business"/>
+                <xml-property name="indexedProps" value="line-of-business-name"/>
+                <xml-property name="uniqueProps" value="line-of-business-name"/>
+                <xml-property name="container" value="lines-of-business"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/lines-of-business/line-of-business/{line-of-business-name}"/>
+            <xml-property name="requiredProps" value="line-of-business-name"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="OwningEntities">
+            <xml-properties>
+                <xml-property name="description" value="Collection of owning-entities"/>
+            </xml-properties>
+            <xml-root-element name="owning-entities"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="owningEntity" name="owning-entity" type="inventory.aai.onap.org.v15.OwningEntity"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="OwningEntity">
+            <xml-root-element name="owning-entity"/>
+            <java-attributes>
+                <xml-element java-attribute="owningEntityId" name="owning-entity-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of an owning entity"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="owningEntityName" name="owning-entity-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Owning entity name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes an owning-entity"/>
+                <xml-property name="indexedProps" value="owning-entity-id,owning-entity-name"/>
+                <xml-property name="searchable" value="owning-entity-id"/>
+                <xml-property name="uniqueProps" value="owning-entity-id,owning-entity-name"/>
+                <xml-property name="container" value="owning-entities"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/owning-entities/owning-entity/{owning-entity-id}"/>
+            <xml-property name="requiredProps" value="owning-entity-id,owning-entity-name"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Platforms">
+            <xml-properties>
+                <xml-property name="description" value="Collection of platforms"/>
+            </xml-properties>
+            <xml-root-element name="platforms"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="platform" name="platform" type="inventory.aai.onap.org.v15.Platform"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Platform">
+            <xml-root-element name="platform"/>
+            <java-attributes>
+                <xml-element java-attribute="platformName" name="platform-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the platform"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="describes a platform"/>
+                <xml-property name="indexedProps" value="platform-name"/>
+                <xml-property name="uniqueProps" value="platform-name"/>
+                <xml-property name="container" value="platforms"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/platforms/platform/{platform-name}"/>
+            <xml-property name="requiredProps" value="platform-name"/>
+            </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.onap.org.v15.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.onap.org.v15.ServiceInstances">
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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-property name="uriTemplate" value="/service-subscriptions/service-subscription/{service-type}"/>
+            <xml-property name="requiredProps" value="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.onap.org.v15.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="serviceType" name="service-type" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing type of service."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceRole" name="service-role" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="String capturing the service role."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="environmentContext" name="environment-context" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field will store the environment context assigned to the service-instance."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="workloadContext" name="workload-context" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This field will store the workload context assigned to the service-instance."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="createdAt" name="created-at" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="create time of Network Service."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="updatedAt" name="updated-at" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="last update of Network Service."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="description" name="description" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="short description for service-instance."/>
+                    </xml-properties>
+                </xml-element>
+                <!-- for storing the nsd_id create edge between services -->
+                <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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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="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="inputParameters" name="input-parameters" required="false" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="String capturing request parameters from SO to pass to Closed Loop."/>
+                                       </xml-properties>
+                               </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v15.Metadata"/>
+                <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.org.v15.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,environment-context,workload-context"/>
+                <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-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+            <xml-property name="requiredProps" value="service-instance-id"/>
+            </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.onap.org.v15.VnfImages"/>
+                <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v15.Services"/>
+                <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v15.ServiceCapabilities"/>
+                <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v15.Models"/>
+                <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.org.v15.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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{vnf-image-uuid}"/>
+            <xml-property name="requiredProps" value="vnf-image-uuid,application,application-vendor"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+            <xml-property name="requiredProps" value="service-id,service-description"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+            <xml-property name="requiredProps" value="service-type,vnf-type"/>
+            </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.onap.org.v15.LogicalLinks"/>
+                <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v15.SitePairSets"/>
+                <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v15.VpnBindings"/>
+                <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v15.VplsPes"/>
+                <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v15.MulticastConfigurations"/>
+                <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v15.Vces"/>
+                <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v15.Vnfcs"/>
+                <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v15.L3Networks"/>
+                <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v15.NetworkPolicies"/>
+                <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v15.GenericVnfs"/>
+                <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v15.LagLinks"/>
+                <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v15.Newvces"/>
+                <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v15.Pnfs"/>
+                <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v15.PhysicalLinks"/>
+                <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v15.IpsecConfigurations"/>
+                <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v15.RouteTableReferences"/>
+                <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v15.InstanceGroups"/>
+                <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.org.v15.Zones"/>
+                <xml-element java-attribute="configurations" name="configurations" type="inventory.aai.onap.org.v15.Configurations"/>
+                <xml-element java-attribute="forwardingPaths" name="forwarding-paths" type="inventory.aai.onap.org.v15.ForwardingPaths"/>
+                <xml-element java-attribute="collections" name="collections" type="inventory.aai.onap.org.v15.Collections"/>
+                <xml-element java-attribute="vlanTags" name="vlan-tags" type="inventory.aai.onap.org.v15.VlanTags"/>
+                               <xml-element java-attribute="connectivities" name="connectivities" type="inventory.aai.onap.org.v15.Connectivities"/>
+                               <xml-element java-attribute="lanPortConfigs" name="lan-port-configs" type="inventory.aai.onap.org.v15.LanPortConfigs"/>
+                               <xml-element java-attribute="networkResources" name="network-resources" type="inventory.aai.onap.org.v15.NetworkResources"/>
+                               <xml-element java-attribute="siteResources" name="site-resources" type="inventory.aai.onap.org.v15.SiteResources"/>
+                               <xml-element java-attribute="sdwanVpns" name="sdwan-vpns" type="inventory.aai.onap.org.v15.SdwanVpns"/>
+                               <xml-element java-attribute="devices" name="devices" type="inventory.aai.onap.org.v15.Devices"/>
+                               <xml-element java-attribute="wanPortConfigs" name="wan-port-configs" type="inventory.aai.onap.org.v15.WanPortConfigs"/>
+                               <xml-element java-attribute="extAaiNetworks" name="ext-aai-networks" type="inventory.aai.onap.org.v15.ExtAaiNetworks"/>
+            </java-attributes>
+        </java-type>
+        <java-type name="Configurations">
+            <xml-properties>
+                <xml-property name="description" value="Collection of configurations"/>
+            </xml-properties>
+            <xml-root-element name="configurations"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="configuration" name="configuration" type="inventory.aai.onap.org.v15.Configuration"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Configuration">
+            <xml-root-element name="configuration"/>
+            <java-attributes>
+                <xml-element java-attribute="configurationId" name="configuration-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID assigned to configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="managementOption" name="management-option" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Indicates the entity that will manage this feature. Could be an organization or the name of the application as well."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="configurationName" name="configuration-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="configurationType" name="configuration-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="port-mirroring-configuration."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="configurationSubType" name="configuration-sub-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="vprobe, pprobe."/>
+                    </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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 the configuration."/>
+                    </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="configurationSelflink" name="configuration-selflink" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="URL to endpoint where AAI can get more details from SDN-GC."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="id of  the configuration used to customize the resource"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tunnelBandwidth" name="tunnel-bandwidth" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="DHV Site Effective Bandwidth"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vendorAllowedMaxBandwidth" name="vendor-allowed-max-bandwidth" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Velocloud Nominal Throughput - VNT"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="configPolicyName" name="config-policy-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used to capture the name of the fabric configuration policy that was used to generate the payload sent to PINC for fabric 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.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v15.Metadata"/>
+                <xml-element java-attribute="forwarderEvcs" name="forwarder-evcs" type="inventory.aai.onap.org.v15.ForwarderEvcs"/>
+                <xml-element java-attribute="evcs" name="evcs" type="inventory.aai.onap.org.v15.Evcs"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Generic configuration object."/>
+                <xml-property name="indexedProps" value="configuration-id,model-invariant-id,model-version-id"/>
+                <xml-property name="uniqueProps" value="configuration-id"/>
+                <xml-property name="container" value="configurations"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/configurations/configuration/{configuration-id}"/>
+            <xml-property name="requiredProps" value="configuration-id,configuration-type"/>
+            </xml-properties>
+        </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.onap.org.v15.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 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). 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="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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{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.onap.org.v15.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,operational-status"/>
+                <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-property name="uriTemplate" value="/network/logical-links/logical-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name,in-maint,link-type"/>
+            </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.onap.org.v15.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.onap.org.v15.RoutingInstances"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+            <xml-property name="requiredProps" value="site-pair-set-id"/>
+            </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.onap.org.v15.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.onap.org.v15.SitePairs"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="routing-instance-id"/>
+                <xml-property name="dependentOn" value="site-pair-set"/>
+                <xml-property name="container" value="routing-instances"/>
+                <xml-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+            </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.onap.org.v15.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, UCPE, 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.onap.org.v15.ClassesOfService"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+            </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.onap.org.v15.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="vpnRegion" name="vpn-region" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="region of customer vpn"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="customerVpnId" name="customer-vpn-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="id for this customer vpn"/>
+                    </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="accessProviderId" name="access-provider-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access provider of this vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessClientId" name="access-client-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access client of this vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessTopologyId" name="access-topology-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access topology of this vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="srcAccessNodeId" name="src-access-node-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the src-access-node of this vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="srcAccessLtpId" name="src-access-ltp-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the src-access-ltp of this vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="dstAccessNodeId" name="dst-access-node-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the dst-access-node of this vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="dstAccessLtpId" name="dst-access-ltp-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the dst-access-ltp of this vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the operational-status for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the model-customization-id for this object."/>
+                                       </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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="routeTargets" name="route-targets" type="inventory.aai.onap.org.v15.RouteTargets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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,access-provider-id,access-client-id,access-topology-id,src-access-node-id,src-access-ltp-id,dst-access-node-id,dst-access-ltp-id,operational-status"/>
+                <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-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+            <xml-property name="requiredProps" value="vpn-id,vpn-name"/>
+            </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.onap.org.v15.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v15.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v15.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-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+            <xml-property name="requiredProps" value="equipment-name"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+            </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.onap.org.v15.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.onap.org.v15.PortGroups"/>
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v15.Licenses"/>
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v15.Entitlements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+            <xml-property name="requiredProps" value="vnf-id,vnf-name,vnf-type"/>
+            </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.onap.org.v15.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.onap.org.v15.CvlanTags"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+            <xml-property name="requiredProps" value="interface-id,orchestration-status"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag}"/>
+            </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.onap.org.v15.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="nfcNamingCode" name="nfc-naming-code" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Short code that is used in naming instances of the item being modeled"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nfcFunction" name="nfc-function" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="English description of function that the specific resource deployment is providing. Assigned as part of the customization of a resource in a service"/>
+                    </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" 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 default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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="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="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="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="cps" name="cps" type="inventory.aai.onap.org.v15.Cps"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v15.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v15.L3InterfaceIpv6AddressList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="vnfc-name,prov-status,nfc-function,nfc-naming-code,ipaddress-v4-oam-vip,in-maint,is-closed-loop-disabled,group-notation,model-invariant-id,model-version-id"/>
+                <xml-property name="searchable" value="vnfc-name"/>
+                <xml-property name="container" value="vnfcs"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+            </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.onap.org.v15.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" 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" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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="isTrunked" name="is-trunked" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Trunked network indication."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="subnets" name="subnets" type="inventory.aai.onap.org.v15.Subnets"/>
+                <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v15.CtagAssignments"/>
+                <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v15.SegmentationAssignments"/>
+                <xml-element java-attribute="aggregateRoutes" name="aggregate-routes" type="inventory.aai.onap.org.v15.AggregateRoutes"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+            <xml-property name="requiredProps" value="network-id,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+            </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.onap.org.v15.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" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" 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="subnetRole" name="subnet-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="role of the subnet, referenced when assigning IPs"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ipAssignmentDirection" name="ip-assignment-direction" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ip address assignment direction of the subnet"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="subnetSequence" name="subnet-sequence" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="sequence of the subnet"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="hostRoutes" name="host-routes" type="inventory.aai.onap.org.v15.HostRoutes"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+            </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.onap.org.v15.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="vnfInstanceId" name="vnf-instance-id" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="vnf instance id."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfName" name="vnf-name" 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-property name="suggestibleOnSearch" value="true"/>
+                    </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="vnfPackageName" name="vnf-package-name" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value=""/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vnfDiscriptorName" name="vnf-discriptor-name" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="vnf discriptor name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="jobId" name="job-id" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="job id corresponding to vnf"/>
+                    </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 ATT 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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 by uCPE"/>
+                    </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 uCPE"/>
+                    </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 by uCPE"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nshd" name="nshd" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of associated SHD in vnf."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nvm" name="nvm" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of vms in vnf."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nnet" name="nnet" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="number of network in vnf."/>
+                    </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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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-property name="suggestibleOnSearch" value="true"/>
+                    </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-property name="suggestibleOnSearch" value="true"/>
+                    </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="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="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="vlanIdOuter" name="vlan-id-outer" type="java.lang.Long">
+                    <xml-properties>
+                        <xml-property name="description" value="Temporary location for S-TAG to get to VCE"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nmProfileName" name="nm-profile-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Network Management profile of this VNF"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v15.LInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v15.LagInterfaces"/>
+                <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v15.VfModules"/>
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v15.Licenses"/>
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v15.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,operational-status"/>
+                <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-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+            <xml-property name="requiredProps" value="vnf-id,vnf-type,in-maint,is-closed-loop-disabled"/>
+            </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.onap.org.v15.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" java-attribute="isBaseVfModule" name="is-base-vf-module" 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 base vf module"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="automatedAssignment" name="automated-assignment" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="Indicates whether vf-module assignment was done via automation or manually"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </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.onap.org.v15.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-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+            <xml-property name="requiredProps" value="vf-module-id,is-base-vf-module,automated-assignment"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name"/>
+            </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.onap.org.v15.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v15.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-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+            <xml-property name="requiredProps" value="vnf-id2,vnf-name,vnf-type"/>
+            </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.onap.org.v15.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="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="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 ATT or customer"/>
+                    </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 pnf"/>
+                    </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" 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). 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="adminStatus" name="admin-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="admin Status of this PNF"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the operational-status for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the model-customization-id for this object."/>
+                                       </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  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  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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="pnfIpv4Address" name="pnf-ipv4-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This is the IP address (IPv4) for the PNF itself. This is the IPv4 address that the PNF iself can be accessed at."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="pnfIpv6Address" name="pnf-ipv6-address" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="This is the IP address (IPv6) for the PNF itself. This is the IPv6 address that the PNF iself can be accessed at."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="softwareVersions" name="software-versions" type="inventory.aai.onap.org.v15.SoftwareVersions"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v15.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v15.LagInterfaces"/>
+                <xml-element java-attribute="vrfs" name="vrfs" type="inventory.aai.onap.org.v15.Vrfs"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="PNF represents a physical network function. typically equipment used in the D1 world. in 1607, this will be populated by SDN-C to represent a premises router that a uCPE connects to. But this can be used to represent any physical device that is not an AIC node or uCPE."/>
+                <xml-property name="indexedProps" value="pnf-name,orchestration-status,inv-status,model-invariant-id,model-version-id,operational-status,admin-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-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+            <xml-property name="requiredProps" value="pnf-name,in-maint"/>
+            </xml-properties>
+        </java-type>
+        <java-type name="SoftwareVersions">
+            <xml-properties>
+                <xml-property name="description" value="Collection of software versions."/>
+            </xml-properties>
+            <xml-root-element name="software-versions"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="softwareVersion" name="software-version" type="inventory.aai.onap.org.v15.SoftwareVersion"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="SoftwareVersion">
+            <xml-root-element name="software-version"/>
+            <java-attributes>
+                <xml-element java-attribute="softwareVersionId" name="software-version-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Identifier of the software version"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="isActiveSwVer" name="is-active-sw-ver" 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 software-version is the active one (activeSw = true)"/>
+                    </xml-properties>
+                </xml-element>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Software Version"/>
+                <xml-property name="indexedProps" value="softwareVersionId,isActiveSwVer"/>
+                <xml-property name="dependentOn" value="pnf"/>
+                <xml-property name="container" value="pnf"/>
+            <xml-property name="requiredProps" value="software-version-id,is-active-sw-ver"/>
+            <xml-property name="uriTemplate" value="/pnf/software-version/{software-version-id}"/>
+            </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.onap.org.v15.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="serviceProviderBandwidthUpValue" name="service-provider-bandwidth-up-value" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Upstream Bandwidth value agreed with the service provider"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceProviderBandwidthUpUnits" name="service-provider-bandwidth-up-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Units for the upstream BW value"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceProviderBandwidthDownValue" name="service-provider-bandwidth-down-value" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="Downstream Bandwidth value agreed with the service provider"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceProviderBandwidthDownUnits" name="service-provider-bandwidth-down-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Units for downstream BW value"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v15.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-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+            <xml-property name="requiredProps" value="link-name"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+            <xml-property name="requiredProps" value="vig-address-type"/>
+            </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.onap.org.v15.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="ATT 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,ucpeHostName,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.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.org.v15.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-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+                       <xml-property name="requiredProps" value="ipsec-configuration-id"/>
+            </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.onap.org.v15.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.onap.org.v15.ReservedPropNames"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.org.v15.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,aai-uri,aai-uuid"/>
+                               <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type,aai-uri,aai-uuid"/>
+                       </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="aaiUuid,edgeLabel,direction,multiplicityRule,isParent,usesResource,hasDelTarget,SVC-INFRA,SVC-INFRA-REV"/>
+                <xml-property name="uniqueProps" value="aai-uuid"/>
+                <xml-property name="indexedProps" value="aai-uuid"/>
+            </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="containsOtherV" name="contains-other-v" type="java.lang.String"/>
+                               <xml-element java-attribute="deleteOtherV" name="delete-other-v" type="java.lang.String"/>
+                               <xml-element java-attribute="svcinfra" name="SVC-INFRA" type="java.lang.String"/>
+                               <xml-element java-attribute="preventDelete" name="prevent-delete" type="java.lang.String"/>
+                               <xml-element java-attribute="aaiUuid" name="aai-uuid" type="java.lang.String"/>
+                       </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.onap.org.v15.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-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-invariant-id}"/>
+            <xml-property name="requiredProps" value="model-invariant-id,model-type"/>
+            </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.onap.org.v15.ModelVers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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.onap.org.v15.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,distribution-status"/>
+                <xml-property name="uniqueProps" value="model-version-id"/>
+                <xml-property name="container" value="model-vers"/>
+                <xml-property name="uriTemplate" value="/model-vers/model-ver/{model-version-id}"/>
+            <xml-property name="requiredProps" value="model-version-id,model-name,model-version"/>
+            </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="distributionStatus" name="distribution-status" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Distribution Status"/>
+                    </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.onap.org.v15.ModelElements"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v15.Metadata"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+            <xml-property name="requiredProps" value="model-element-uuid,new-data-del-flag,cardinality"/>
+            </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.onap.org.v15.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.onap.org.v15.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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+            <xml-property name="requiredProps" value="model-constraint-uuid,constrained-element-set-uuid-to-replace"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+            <xml-property name="requiredProps" value="constrained-element-set-uuid,constraint-type,check-type"/>
+            </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.onap.org.v15.ElementChoiceSets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+            <xml-property name="requiredProps" value="element-choice-set-uuid,element-choice-set-name"/>
+            </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.onap.org.v15.ModelElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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.onap.org.v15.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-property name="requiredProps" value="named-query-uuid,named-query-name,named-query-version"/>
+            <xml-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+            </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.onap.org.v15.NamedQueryElements"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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.onap.org.v15.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-property name="requiredProps" value="named-query-element-uuid"/>
+            <xml-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+            </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.onap.org.v15.NamedQueryElements"/>
+                               <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v15.RelatedLookups"/>
+                               <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v15.PropertyConstraints"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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.onap.org.v15.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-property name="requiredProps" value="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property"/>
+            <xml-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="requiredProps" value="property-constraint-uuid,constraint-type,property-name,property-value"/>
+            <xml-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+            </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.onap.org.v15.QueryParameters"/>
+                               <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v15.InstanceFilters"/>
+                               <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.onap.org.v15.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.onap.org.v15.NamedQuery"/>
+                               <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v15.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-property name="requiredProps" value="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version"/>
+            </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.onap.org.v15.ModelVers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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.onap.org.v15.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.onap.org.v15.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.onap.org.v15.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.onap.org.v15.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.onap.org.v15.ExtraProperties"/>
+                               <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v15.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.onap.org.v15.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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+            <xml-property name="requiredProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+            </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.onap.org.v15.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="instanceGroupRole" name="instance-group-role" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="role of the instance group."/>
+                    </xml-properties>
+                </xml-element>
+
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="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" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ASDC model version uid for this resource 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="description" name="description" required="false" 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="instanceGroupType" name="instance-group-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="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="instanceGroupName" name="instance-group-name" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Instance-Group Name."/>
+                    </xml-properties>
+                </xml-element>
+
+                <xml-element java-attribute="instanceGroupFunction" name="instance-group-function" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Instance-Group Function"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+
+            <xml-properties>
+                <xml-property name="description" value="General mechanism for grouping instances"/>
+                <xml-property name="nameProps" value="description,instance-group-name"/>
+                <xml-property name="uniqueProps" value="id"/>
+                <xml-property name="searchable" value="id,description"/>
+                <xml-property name="indexedProps" value="id,type,sub-type,model-invariant-id,model-version-id"/>
+                <xml-property name="container" value="instance-groups"/>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="uriTemplate" value="/network/instance-groups/instance-group/{id}"/>
+            <xml-property name="requiredProps" value="id,instance-group-type"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+            <xml-property name="requiredProps" value="segmentation-id"/>
+            </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.onap.org.v15.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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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="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="allottedResourceName" name="allotted-resource-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the name of this allotted-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessProviderId" name="access-provider-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access provider of this allotted-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessClientId" name="access-client-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access client of this allotted-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessTopologyId" name="access-topology-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access topology of this allotted-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessNodeId" name="access-node-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access node of this allotted-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessLtpId" name="access-ltp-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access ltp of this allotted-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cvlan" name="cvlan" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the cvlan of this allotted-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vpnName" name="vpn-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the vpn-name of this allotted-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                <xml-element java-attribute="tunnelXconnects" name="tunnel-xconnects" type="inventory.aai.onap.org.v15.TunnelXconnects"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.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,allotted-resource-name"/>
+                <xml-property name="uniqueProps" value="id"/>
+                               <xml-property name="indexedProps" value="id,model-invariant-id,model-version-id,type,role,allotted-resource-name,access-provider-id,access-client-id,access-topology-id,access-node-id,access-ltp-id,vpn-name"/>
+                <xml-property name="dependentOn" value="service-instance"/>
+                <xml-property name="container" value="allotted-resources"/>
+                <!--  <xml-property name="namespace" value="network" /> -->
+                <xml-property name="uriTemplate" value="/allotted-resources/allotted-resource/{id}"/>
+            <xml-property name="requiredProps" value="id"/>
+            </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.onap.org.v15.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="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.onap.org.v15.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-property name="uriTemplate" value="/tunnel-xconnects/tunnel-xconnect/{id}"/>
+            <xml-property name="requiredProps" value="id"/>
+            </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.onap.org.v15.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.onap.org.v15.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"/>
+                <xml-property name="container" value="entitlements"/>
+                <xml-property name="uriTemplate" value="/entitlements/entitlement/{group-uuid}/{resource-uuid}"/>
+            <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+            </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.onap.org.v15.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.onap.org.v15.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"/>
+                <xml-property name="container" value="licenses"/>
+                <xml-property name="uriTemplate" value="/licenses/license/{group-uuid}/{resource-uuid}"/>
+            <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+            </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,generic-vnf"/>
+                <xml-property name="abstract" value="true"/>
+            <xml-property name="requiredProps" value="vnf-id"/>
+            </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.onap.org.v15.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.onap.org.v15.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-property name="uriTemplate" value="/network/zones/zone/{zone-id}"/>
+            <xml-property name="requiredProps" value="zone-id,zone-name,design-type,zone-context"/>
+            </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.onap.org.v15.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" type="java.lang.String" xml-key="true">
+                    <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" type="java.lang.String" xml-key="true">
+                    <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.onap.org.v15.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-property name="uriTemplate" value="/route-targets/route-target/{global-route-target}/{route-target-role}"/>
+            <xml-property name="requiredProps" value="global-route-target,route-target-role"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="SriovPfs">
+            <xml-properties>
+                <xml-property name="description" value="Collection of SR-IOV Physical Functions."/>
+            </xml-properties>
+            <xml-root-element name="sriov-pfs"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="sriovPf" name="sriov-pf" type="inventory.aai.onap.org.v15.SriovPf"/>
+            </java-attributes>
+        </java-type>
+        <java-type name="SriovPf">
+            <xml-root-element name="sriov-pf"/>
+            <java-attributes>
+                <xml-element java-attribute="pfPciId" name="pf-pci-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Identifier for the sriov-pf"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="SR-IOV Physical Function"/>
+                <xml-property name="indexedProps" value="pf-pci-id"/>
+                <xml-property name="dependentOn" value="p-interface"/>
+                <xml-property name="container" value="sriov-pfs"/>
+                <xml-property name="uriTemplate" value="/sriov-pfs/sriov-pf/{pf-pci-id}"/>
+            <xml-property name="requiredProps" value="pf-pci-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="HostRoutes">
+            <xml-root-element name="host-routes"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="hostRoute" name="host-route" type="inventory.aai.onap.org.v15.HostRoute"/>
+            </java-attributes>
+        </java-type>
+        <java-type name="HostRoute">
+            <xml-root-element name="host-route"/>
+            <java-attributes>
+                <xml-element java-attribute="hostRouteId" name="host-route-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="host-route id"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="routePrefix" name="route-prefix" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="subnet prefix"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nextHop" name="next-hop" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Could be ip-address, hostname, or service-instance"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nextHopType" name="next-hop-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Should be ip-address, hostname, or service-instance to match next-hop"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="indexedProps" value="host-route-id"/>
+                <xml-property name="dependentOn" value="subnet"/>
+                <xml-property name="container" value="host-routes"/>
+                <xml-property name="uriTemplate" value="/host-routes/host-route/{host-route-id}"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VipIpv4AddressList">
+            <xml-root-element name="vip-ipv4-address-list"/>
+            <java-attributes>
+                <xml-element java-attribute="vipIpv4Address" name="vip-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="vipIpv4PrefixLength" name="vip-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.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="IPv4 Address Range"/>
+                <xml-property name="indexedProps" value="vip-ipv4-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+            <xml-property name="uriTemplate" value="/vip-ipv4-address-list/{vip-ipv4-address}"/>
+            <xml-property name="requiredProps" value="vip-ipv4-address"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VipIpv6AddressList">
+            <xml-root-element name="vip-ipv6-address-list"/>
+            <java-attributes>
+                <xml-element java-attribute="vipIpv6Address" name="vip-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="vipIpv6PrefixLength" name="vip-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.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="IPv6 Address Range"/>
+                <xml-property name="indexedProps" value="vip-ipv6-address,vlan-id-inner,neutron-network-id,neutron-subnet-id"/>
+                <xml-property name="dependentOn" value="cloud-region"/>
+            <xml-property name="uriTemplate" value="/vip-ipv6-address-list/{vip-ipv6-address}"/>
+            <xml-property name="requiredProps" value="vip-ipv6-address"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="OperationalEnvironments">
+            <xml-properties>
+                <xml-property name="description" value="a logical partition of the cloud which allows to have multiple environments in the production AIC."/>
+            </xml-properties>
+            <xml-root-element name="operational-environments"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="operationalEnvironment" name="operational-environment" type="inventory.aai.onap.org.v15.OperationalEnvironment"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="OperationalEnvironment">
+            <xml-root-element name="operational-environment"/>
+            <java-attributes>
+                <xml-element java-attribute="operationalEnvironmentId" name="operational-environment-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="UUID of an operational environment"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalEnvironmentName" name="operational-environment-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Operational Environment name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalEnvironmentType" name="operational-environment-type" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Operational Environment Type."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="operationalEnvironmentStatus" name="operational-environment-status" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Status"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tenantContext" name="tenant-context" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Tenant Context."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="workloadContext" name="workload-context" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Workload Context."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="It is a logical partition of the cloud which allows to have multiple environments in the production AIC."/>
+                <xml-property name="indexedProps" value="operational-environment-id"/>
+                <xml-property name="nameProps" value="operational-environment-name"/>
+                <xml-property name="uniqueProps" value="operational-environment-id"/>
+                <xml-property name="container" value="operational-environments"/>
+                <xml-property name="namespace" value="cloud-infrastructure"/>
+                <xml-property name="uriTemplate" value="/cloud-infrastructure/operational-environments/operational-environment/{operational-environment-id}"/>
+            <xml-property name="requiredProps" value="operational-environment-id,operational-environment-name,operational-environment-type,operational-environment-status,tenant-context,workload-context"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="ForwardingPaths">
+            <xml-root-element name="forwarding-paths"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="forwardingPath" name="forwarding-path" type="inventory.aai.onap.org.v15.ForwardingPath"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ForwardingPath">
+            <xml-root-element name="forwarding-path"/>
+            <xml-properties>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="indexedProps" value="forwarding-path-id,forwarding-path-name"/>
+                <xml-property name="description" value="Entity that describes the sequenced forwarding path between interfaces of services or resources"/>
+                <xml-property name="container" value="forwarding-paths"/>
+                <xml-property name="nameProps" value="forwarding-path-name"/>
+                <xml-property name="uniqueProps" value="forwarding-path-id"/>
+                <xml-property name="uriTemplate" value="/network/forwarding-paths/forwarding-path/{forwarding-path-id}"/>
+            <xml-property name="requiredProps" value="forwarding-path-id,forwarding-path-name"/>
+            </xml-properties>
+            <java-attributes>
+                <xml-element java-attribute="forwardingPathId" name="forwarding-path-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of this FP"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="forwardingPathName" name="forwarding-path-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the FP"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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="the self link for this FP"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="forwarders" name="forwarders" type="inventory.aai.onap.org.v15.Forwarders"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Forwarders">
+            <xml-root-element name="forwarders"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="forwarder" name="forwarder" type="inventory.aai.onap.org.v15.Forwarder"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Forwarder">
+            <xml-root-element name="forwarder"/>
+            <xml-properties>
+                <xml-property name="indexedProps" value="sequence"/>
+                <xml-property name="description" value="Entity describing a sequenced segment of forwarding path"/>
+                <xml-property name="container" value="forwarders"/>
+                <xml-property name="dependentOn" value="forwarding-path"/>
+                <xml-property name="uriTemplate" value="/forwarders/forwarder/{sequence}"/>
+            <xml-property name="requiredProps" value="sequence"/>
+            </xml-properties>
+            <java-attributes>
+                <xml-element java-attribute="sequence" name="sequence" required="true" type="java.lang.Integer" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of this segmentation"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="forwarderRole" name="forwarder-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="ingress, intermediate, egress"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-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="ForwarderEvcs">
+            <xml-root-element name="forwarder-evcs"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="forwarderEvc" name="forwarder-evc" type="inventory.aai.onap.org.v15.ForwarderEvc"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="ForwarderEvc">
+            <xml-root-element name="forwarder-evc"/>
+            <java-attributes>
+                <xml-element java-attribute="forwarderEvcId" name="forwarder-evc-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Key for forwarder-evc object"/>
+                    </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 from customer/ESP/ingress end of EVC, or reference to beater circuit on gateway/network/egress end of EVC"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ivlan" name="ivlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Internal VLAN."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="svlan" name="svlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="SVLAN value for ingress of egress forwarder."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cvlan" name="cvlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CVLAN value for ingress of egress forwarder."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanMappings" name="vlan-mappings" type="inventory.aai.onap.org.v15.VlanMappings"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-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="forwarder object is an optional child object of the Configuration object."/>
+                <xml-property name="dependentOn" value="configuration"/>
+                <xml-property name="uniqueProps" value="forwarder-evc-id"/>
+                <xml-property name="container" value="forwarder-evcs"/>
+                <xml-property name="uriTemplate" value="/forwarder-evcs/forwarder-evc/{forwarder-evc-id}"/>
+            <xml-property name="requiredProps" value="forwarder-evc-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VlanMappings">
+            <xml-properties>
+                <xml-property name="description" value="Collection of vlan mappings."/>
+            </xml-properties>
+            <xml-root-element name="vlan-mappings"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vlanMapping" name="vlan-mapping" type="inventory.aai.onap.org.v15.VlanMapping"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VlanMapping">
+            <xml-root-element name="vlan-mapping"/>
+            <java-attributes>
+                <xml-element java-attribute="vlanMappingId" name="vlan-mapping-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Key for vlan-mapping object."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="uniCvlan" name="uni-cvlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CVLAN value from the UNI/ingress side of the SAREA gateway access device."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nniSvlan" name="nni-svlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="SVLAN value from the NNI/egress side of the SAREA gateway access device."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="nniCvlan" name="nni-cvlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CVLAN value from the NNI/egress side of the SAREA gateway access device."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="ivLan" name="ivlan" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The internal VLAN ('IVLAN') value.  Specific to Arista devices."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="vlan-mapping object is an optional child object of the forwarder-evc object.  A given forwarder-evc object may have multiple vlan-mapping objects."/>
+                <xml-property name="dependentOn" value="forwarder-evc"/>
+                <xml-property name="uniqueProps" value="vlan-mapping-id"/>
+                <xml-property name="container" value="vlan-mappings"/>
+                <xml-property name="uriTemplate" value="/vlan-mappings/vlan-mapping/{vlan-mapping-id}"/>
+            <xml-property name="requiredProps" value="vlan-mapping-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Evcs">
+            <xml-root-element name="evcs"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="evc" name="evc" type="inventory.aai.onap.org.v15.Evc"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Evc">
+            <xml-root-element name="evc"/>
+            <java-attributes>
+                <xml-element java-attribute="evcId" name="evc-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique/key field for the evc object"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="forwardingPathTopology" name="forwarding-path-topology" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Point-to-Point, Multi-Point"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cirValue" name="cir-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Commited Information Rate"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="cirUnits" name="cir-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CIR units"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="connectionDiversityGroupId" name="connection-diversity-group-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Diversity Group ID"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="serviceHours" name="service-hours" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="formerly Performance Group"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="espEvcCircuitId" name="esp-evc-circuit-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="EVC Circuit ID of ESP EVC"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="espEvcCirValue" name="esp-evc-cir-value" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Committed Information Rate (For ESP)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="espEvcCirUnits" name="esp-evc-cir-units" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CIR units (For ESP)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="espItuCode" name="esp-itu-code" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Identifies ESP"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="collectorPopClli" name="collector-pop-clli" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Collector POP CLLI (from the hostname of the access pnf)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="interConnectTypeIngress" name="inter-connect-type-ingress" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Interconnect type on ingress side of EVC."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tagmodeAccessIngress" name="tagmode-access-ingress" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="tagode for collector side of EVC"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="tagmodeAccessEgress" name="tagmode-access-egress" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="tagMode for network side of EVC"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-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="evc object is an optional child object of the Configuration object."/>
+                <xml-property name="dependentOn" value="configuration"/>
+                <xml-property name="uniqueProps" value="evc-id"/>
+                <xml-property name="container" value="evcs"/>
+                <xml-property name="uriTemplate" value="/evcs/evc/{evc-id}"/>
+            <xml-property name="requiredProps" value="evc-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Collections">
+            <xml-root-element name="collections"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="collection" name="collection" type="inventory.aai.onap.org.v15.Collection"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Collection">
+            <xml-root-element name="collection"/>
+            <java-attributes>
+                <xml-element java-attribute="collectionId" name="collection-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Collection Object UUID"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="modelInvariantId" name="model-invariant-id" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="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="Model Version"/>
+                        <xml-property name="visibility" value="deployment"/>
+                        <xml-property name="requires" value="model-invariant-id"/>
+                        <xml-property name="dbAlias" value="model-version-id-local"/>
+                        <xml-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="collectionName" name="collection-name" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="collection name"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="collectionType" name="collection-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Collection type"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="collectionRole" name="collection-role" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Collection Role"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="collectionFunction" name="collection-function" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Collection function"/>
+                    </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="collectionCustomizationId" name="collection-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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-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="namespace" value="network"/>
+                <xml-property name="description" value="represents the collection resource in the TOSCA model"/>
+                <xml-property name="uniqueProps" value="collection-id"/>
+                <xml-property name="indexedProps" value="collection-id,model-invariant-id,model-version-id"/>
+                <xml-property name="container" value="collections"/>
+                <xml-property name="uriTemplate" value="/network/collections/collection/{collection-id}"/>
+            <xml-property name="requiredProps" value="collection-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="Cps">
+            <xml-properties>
+                <xml-property name="description" value="Collection of connection points."/>
+            </xml-properties>
+            <xml-root-element name="cps"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="cp" name="cp" type="inventory.aai.onap.org.v15.Cp"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="Cp">
+            <xml-root-element name="cp"/>
+            <java-attributes>
+                <xml-element java-attribute="cpInstanceId" name="cp-instance-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of the connection point."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="portId" name="port-id" required="false" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="port index to represent multiple CPs on VNFC connected to same network."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" required="false" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v15.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v15.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v15.L3InterfaceIpv6AddressList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="point of attachment from services or resources to a virtual link or network."/>
+                <xml-property name="uniqueProps" value="cp-instance-id"/>
+                <xml-property name="dependentOn" value="vnfc"/>
+                <xml-property name="container" value="cps"/>
+                <xml-property name="uriTemplate" value="/cps/cp/{cp-instance-id}"/>
+            <xml-property name="requiredProps" value="cp-instance-id"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="VlanTags">
+            <xml-root-element name="vlan-tags"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="vlanTag" name="vlan-tag" type="inventory.aai.onap.org.v15.VlanTag"/>
+            </java-attributes>
+        </java-type>
+
+        <java-type name="VlanTag">
+            <xml-root-element name="vlan-tag"/>
+            <java-attributes>
+                <xml-element java-attribute="vlanTagId" name="vlan-tag-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique ID of the vlan-tag"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanTagRole" name="vlan-tag-role" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="purpose (l3-network to be connected to)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdInner" name="vlan-id-inner" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="VLAN inner id"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="vlanIdOuter" name="vlan-id-outer" required="true" type="java.lang.Integer">
+                    <xml-properties>
+                        <xml-property name="description" value="VLAN outer id"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element default-value="false" java-attribute="isPrivate" name="is-private" required="true" type="java.lang.Boolean">
+                    <xml-properties>
+                        <xml-property name="defaultValue" value="false"/>
+                        <xml-property name="description" value="is VLAN private?"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="namespace" value="network"/>
+                <xml-property name="container" value="vlan-tags"/>
+                <xml-property name="uniqueProps" value="vlan-tag-id"/>
+                <xml-property name="uriTemplate" value="/network/vlan-tags/vlan-tag/{vlan-tag-id}"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="NetworkTechnologies">
+            <xml-properties>
+                <xml-property name="description" value=" The network-technology object is used to capture the supported network technologies of a cloud-region."/>
+            </xml-properties>
+            <xml-root-element name="network-technologies"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="networkTechnology" name="network-technology" type="inventory.aai.onap.org.v15.NetworkTechnology"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="maximumDepth" value="0"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="NetworkTechnology">
+            <xml-root-element name="network-technology"/>
+            <java-attributes>
+                <xml-element java-attribute="networkTechnologyId" name="network-technology-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique identifier of the network-technology object (UUID)"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="networkTechnologyName" name="network-technology-name" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="The network-technology  that a cloud-region can support. Current valid values- CONTRAIL AIC_SR_IOV OVS STANDARD-SR-IOV"/>
+                    </xml-properties>
+                </xml-element>               
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="The network-technology object is used to capture the supported network technologies of a cloud-region."/>
+                <xml-property name="nameProps" value="network-technology-id,network-technology-name"/>
+                <xml-property name="uniqueProps" value="network-technology-id"/>
+                <xml-property name="container" value="network-technologies"/>
+                <xml-property name="namespace" value="cloud-infrastructure"/>
+                <xml-property name="uriTemplate" value="/cloud-infrastructure/network-technologies/network-technology/{network-technology-id}"/>
+            <xml-property name="requiredProps" value="network-technology-id,network-technology-name"/>
+            </xml-properties>
+        </java-type>
+
+        <java-type name="SpPartner">
+            <xml-root-element name="sp-partner"/>
+            <java-attributes>
+                <xml-element java-attribute="spPartnerId" name="sp-partner-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Uniquely identifies this sp-partner by id"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="url" name="url" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Store the URL of this sp-partner."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="callsource" name="callsource" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Store the callsource of this sp-partner."/>
+                    </xml-properties>
+                </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the operational-status for this sp-partner."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the model-customization-id for this sp-partner."/>
+                                       </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 sp-partner 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 sp-partner 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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-id}"/>
+                                       </xml-properties>
+                               </xml-element>
+
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Instance of an sp-partner"/>
+                <xml-property name="indexedProps" value="sp-partner-id,url,callsource"/>
+                <xml-property name="nameProps" value="sp-partner-id"/>
+                <xml-property name="searchable" value="sp-partner-id"/>
+                <xml-property name="uniqueProps" value="sp-partner-id"/>
+                <xml-property name="container" value="sp-partners"/>
+                <xml-property name="namespace" value="business"/>
+                <xml-property name="uriTemplate" value="/business/sp-partners/sp-partner/{sp-partner-id}"/>
+            <xml-property name="requiredProps" value="sp-partner-id"/>
+            </xml-properties>
+        </java-type>
+        <java-type name="SpPartners">
+            <xml-root-element name="sp-partners"/>
+            <xml-properties>
+                <xml-property name="description" value="Collection of sp-partners"/>
+            </xml-properties>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="spPartner" name="sp-partner" type="inventory.aai.onap.org.v15.SpPartner"/>
+            </java-attributes>
+        </java-type>
+
+               <java-type name="Connectivity">
+                       <xml-root-element name="connectivity"/>
+                       <java-attributes>
+                               <xml-element java-attribute="connectivityId" name="connectivity-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Uniquely identifies this connectivity by id"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="bandwidthProfileName" name="bandwidth-profile-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the name of a bandwidth profile."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vpnType" name="vpn-type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the type of a bandwidth profile."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cir" name="cir" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the CIR of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="eir" name="eir" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the EIR of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cbs" name="cbs" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the CBS of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ebs" name="ebs" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the EBS of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="colorAware" name="color-aware" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the color-awareness of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="couplingFlag" name="coupling-flag" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the coupling flag of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ethtSvcName" name="etht-svc-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="The ethernet service name for this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessProviderId" name="access-provider-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access provider of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessClientId" name="access-client-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access client of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessTopologyId" name="access-topology-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access topology of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessNodeId" name="access-node-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access node of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="accessLtpId" name="access-ltp-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the access ltp of this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="connectivitySelflink" name="connectivity-selflink" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the link to get more information for this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="cvlan" name="cvlan" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the cvlan for this connectivity."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the operational-status for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the model-customization-id for this object."/>
+                                       </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.org.v15.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Instance of a connectivity"/>
+                               <xml-property name="indexedProps" value="connectivity-id,etht-svc-name,bandwidth-profile-name,vpn-type,color-aware,coupling-flag,access-provider-id,access-client-id,access-topology-id,access-node-id,access-ltp-id,operational-status"/>
+                               <xml-property name="nameProps" value="etht-svc-name"/>
+                               <xml-property name="searchable" value="connectivity-id"/>
+                               <xml-property name="uniqueProps" value="connectivity-id"/>
+                               <xml-property name="container" value="connectivities"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="connectivity-id"/>
+            <xml-property name="uriTemplate" value="/network/connectivities/connectivity/{connectivity-id}"/>
+            </xml-properties>
+               </java-type>
+               <java-type name="Connectivities">
+                       <xml-root-element name="connectivities"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of connectivities"/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="connectivity" name="connectivity" type="inventory.aai.onap.org.v15.Connectivity"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="LanPortConfig">
+                       <xml-root-element name="lan-port-config"/>
+                       <java-attributes>
+                               <xml-element java-attribute="lanPortConfigId" name="lan-port-config-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Uniquely identifies this lan-port-config by id"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="lanPortConfigName" name="lan-port-config-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the name of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="description" name="description" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the description of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="deviceId" name="device-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the device-id of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="portId" name="port-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the port-id of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipv4Address" name="ipv4-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the ipv4-address of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipv6Address" name="ipv6-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the ipv6-address of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vlanTag" name="vlan-tag" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the vlan-tag of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="inputBandwidth" name="input-bandwidth" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the input-bandwidth of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="outputBandwidth" name="output-bandwidth" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the output-bandwidth of this lan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="dhcpServices" name="dhcp-services" type="inventory.aai.onap.org.v15.DhcpServices"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Instance of a lan-port-config"/>
+                               <xml-property name="indexedProps" value="lan-port-config-id,lan-port-config-name,device-id,port-id,ipv4-address,ipv6-address,vlan-tag"/>
+                               <xml-property name="nameProps" value="lan-port-config-name"/>
+                               <xml-property name="searchable" value="lan-port-config-id"/>
+                               <xml-property name="uniqueProps" value="lan-port-config-id"/>
+                               <xml-property name="container" value="lan-port-configs"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="lan-port-config-id"/>
+            <xml-property name="uriTemplate" value="/network/lan-port-configs/lan-port-config/{lan-port-config-id}"/>
+            </xml-properties>
+               </java-type>
+               <java-type name="LanPortConfigs">
+                       <xml-root-element name="lan-port-configs"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of lan-port-configs"/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="lanPortConfig" name="lan-port-config" type="inventory.aai.onap.org.v15.LanPortConfig"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="DhcpService">
+                       <xml-root-element name="dhcp-service"/>
+                       <java-attributes>
+                               <xml-element java-attribute="dhcpServiceId" name="dhcp-service-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Uniquely identifies this dhcp-service by id"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serverIpv4Address" name="server-ipv4-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the server-ip4-address of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serverIpv6Address" name="server-ipv6-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the server-ipv6-address of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="serviceEnable" name="service-enable" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the service-enable of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="dhcpServiceType" name="dhcp-service-type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the dhcp-service-type of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="leaseTime" name="lease-time" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the lease-time of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="domainName" name="domain-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the domain-name of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="dns" name="dns" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the dns of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ntpPrimary" name="ntp-primary" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the ntp-primary of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ntpSecondary" name="ntp-secondary" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the ntp-secondary of this dhcp-service."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="nbns" name="nbns" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the nbns of this dhcp-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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Instance of a dhcp-service"/>
+                               <xml-property name="indexedProps" value="dhcp-service-id,dhcp-service-type,domain-name,server-ipv4-address,server-ipv6-address"/>
+                               <xml-property name="nameProps" value="domain-name"/>
+                               <xml-property name="searchable" value="dhcp-service-id"/>
+                               <xml-property name="uniqueProps" value="dhcp-service-id"/>
+                               <xml-property name="container" value="dhcp-services"/>
+                               <xml-property name="dependentOn" value="lan-port-config"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="dhcp-service-id"/>
+            <xml-property name="uriTemplate" value="/network/dhcp-services/dhcp-service/{dhcp-service-id}"/>
+            </xml-properties>
+               </java-type>
+               <java-type name="DhcpServices">
+                       <xml-root-element name="dhcp-services"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of dhcp-services"/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="dhcpService" name="dhcp-service" type="inventory.aai.onap.org.v15.DhcpService"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="NetworkResource">
+                       <xml-root-element name="network-resource"/>
+                       <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="Uniquely identifies this network-resource by id"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="providerId" name="provider-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the provider of this network-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="clientId" name="client-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the client of this network-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="teTopoId" name="te-topo-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the te-topo of this network-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the link to get more information for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+
+                               <!-- Want to use pnf as sub-component, but workaround is to use COUSIN edge in relationship-list.
+                               <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v15.Pnfs" /> -->
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Instance of a network-resource"/>
+                               <xml-property name="indexedProps" value="network-id,provider-id,client-id,te-topo-id"/>
+                               <xml-property name="nameProps" value="network-id"/>
+                               <xml-property name="searchable" value="network-id"/>
+                               <xml-property name="uniqueProps" value="network-id"/>
+                               <xml-property name="container" value="network-resources"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="network-id"/>
+            <xml-property name="uriTemplate" value="/network/network-resources/network-resource/{network-id}"/>
+            </xml-properties>
+               </java-type>
+               <java-type name="NetworkResources">
+                       <xml-root-element name="network-resources"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of network-resources"/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="networkResource" name="network-resource" type="inventory.aai.onap.org.v15.NetworkResource"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="SiteResource">
+                       <xml-root-element name="site-resource"/>
+                       <java-attributes>
+                               <xml-element java-attribute="siteResourceId" name="site-resource-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Uniquely identifies this site-resource by id"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="siteResourceName" name="site-resource-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the name of this site-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="description" name="description" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the description of this site-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="type" name="type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the type of this site-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="role" name="role" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the role of this site-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="generatedSiteId" name="generated-site-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the generated-site-id of this site-resource."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the link to get more information for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the operational-status for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the model-customization-id for this object."/>
+                                       </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.org.v15.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Instance of a site-resource"/>
+                               <xml-property name="indexedProps" value="site-resource-id,site-resource-name,type,role,generated-site-id,operational-status"/>
+                               <xml-property name="nameProps" value="site-resource-name"/>
+                               <xml-property name="searchable" value="site-resource-id"/>
+                               <xml-property name="uniqueProps" value="site-resource-id"/>
+                               <xml-property name="container" value="site-resources"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="site-resource-id"/>
+            <xml-property name="uriTemplate" value="/network/site-resources/site-resource/{site-resource-id}"/>
+            </xml-properties>
+               </java-type>
+               <java-type name="SiteResources">
+                       <xml-root-element name="site-resources"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of site-resources"/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="siteResource" name="site-resource" type="inventory.aai.onap.org.v15.SiteResource"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="SdwanVpns">
+                       <xml-root-element name="sdwan-vpns"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of sdwan-vpns"/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="sdwanVpn" name="sdwan-vpn" type="inventory.aai.onap.org.v15.SdwanVpn"/>
+                       </java-attributes>
+               </java-type>
+               <java-type name="SdwanVpn">
+                       <xml-root-element name="sdwan-vpn"/>
+                       <java-attributes>
+                               <xml-element java-attribute="sdwanVpnId" name="sdwan-vpn-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Uniquely identifies this sdwan-vpn by id"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="sdwanVpnName" name="sdwan-vpn-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the name of this sdwan-vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vxlanId" name="vxlan-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the vxlan-id of this sdwan-vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="topology" name="topology" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the topology of this sdwan-vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="tenantId" name="tenant-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the tenant-id of this sdwan-vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vpnId" name="vpn-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the vpn-id of this sdwan-vpn."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the link to get more information for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the operational-status for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the model-customization-id for this object."/>
+                                       </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.org.v15.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Instance of an sdwan-vpn"/>
+                               <xml-property name="indexedProps" value="sdwan-vpn-id,sdwan-vpn-name,vxlan-id,topology,operational-status"/>
+                               <xml-property name="nameProps" value="sdwan-vpn-name"/>
+                               <xml-property name="searchable" value="sdwan-vpn-id"/>
+                               <xml-property name="uniqueProps" value="sdwan-vpn-id"/>
+                               <xml-property name="container" value="sdwan-vpns"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="sdwan-vpn-id"/>
+            <xml-property name="uriTemplate" value="/network/sdwan-vpns/sdwan-vpn/{sdwan-vpn-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="Devices">
+                       <xml-root-element name="devices"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of devices"/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="device" name="device" type="inventory.aai.onap.org.v15.Device"/>
+                       </java-attributes>
+               </java-type>
+               <java-type name="Device">
+                       <xml-root-element name="device"/>
+                       <java-attributes>
+                               <xml-element java-attribute="deviceId" name="device-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Uniquely identifies this device by id"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esn" name="esn" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the esn of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="deviceName" name="device-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the name of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="description" name="description" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the description of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vendor" name="vendor" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the vendor of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="class" name="class" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the class of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="type" name="type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the type of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="version" name="version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the version of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemIp" name="system-ip" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the system-ip of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemIpv4" name="system-ipv4" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the system-ipv4 of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="systemIpv6" name="system-ipv6" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the system-ipv6 of this device."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the link to get more information for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the operational-status for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the model-customization-id for this object."/>
+                                       </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.org.v15.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Instance of a device"/>
+                               <xml-property name="indexedProps" value="device-id,device-name,esn,vendor,class,type,version,system-ip,system-ipv4,system-ipv6,operational-status"/>
+                               <xml-property name="nameProps" value="device-name"/>
+                               <xml-property name="searchable" value="device-id"/>
+                               <xml-property name="uniqueProps" value="device-id"/>
+                               <xml-property name="container" value="devices"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="device-id"/>
+            <xml-property name="uriTemplate" value="/network/devices/device/{device-id}"/>
+            </xml-properties>
+               </java-type>
+
+               <java-type name="WanPortConfig">
+                       <xml-root-element name="wan-port-config"/>
+                       <java-attributes>
+                               <xml-element java-attribute="wanPortConfigId" name="wan-port-config-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Uniquely identifies this wan-port-config by id"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="wanPortConfigName" name="wan-port-config-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the name of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="deviceId" name="device-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the device of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="vlanId" name="vlan-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the id of the vlan of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipAddress" name="ip-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the ip-address of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipv4Address" name="ipv4-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the ipv4-address of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="ipv6Address" name="ipv6-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the ipv6-address of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="providerIpAddress" name="provider-ip-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the provider-ip-address of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="providerIpv4Address" name="provider-ipv4-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the provider-ipv4-address of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="providerIpv6Address" name="provider-ipv6-address" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the provider-ipv6-address of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="inputBandwidth" name="input-bandwidth" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the input-bandwidth of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="outputBandwidth" name="output-bandwidth" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the output-bandwidth of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="description" name="description" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the description of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="portType" name="port-type" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the port-type of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="portNumber" name="port-number" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the port-number of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="transportNetworkName" name="transport-network-name" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the transport-network-name of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="devicePortId" name="device-port-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the device-port-id of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="wanPortId" name="wan-port-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the wan-port-id of this wan-port-config."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="selflink" name="selflink" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the link to get more information for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="operationalStatus" name="operational-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the operational-status for this object."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="modelCustomizationId" name="model-customization-id" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Store the model-customization-id for this object."/>
+                                       </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-property name="privateEdge" value="service-design-and-creation/models/model/{model-invariant-id}/model-vers/model-ver/{model-version-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.onap.org.v15.RelationshipList"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Instance of a wan-port-config"/>
+                               <xml-property name="indexedProps" value="wan-port-config-id,wan-port-config-name,device-id,ip-address,ipv4-address,ipv6-address,port-type,port-number,device-port-id,wan-port-id,operational-status"/>
+                               <xml-property name="nameProps" value="wan-port-config-name"/>
+                               <xml-property name="searchable" value="wan-port-config-id"/>
+                               <xml-property name="uniqueProps" value="wan-port-config-id"/>
+                               <xml-property name="container" value="wan-port-configs"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="wan-port-config-id"/>
+            <xml-property name="uriTemplate" value="/network/wan-port-configs/wan-port-config/{wan-port-config-id}"/>
+            </xml-properties>
+               </java-type>
+               <java-type name="WanPortConfigs">
+                       <xml-root-element name="wan-port-configs"/>
+                       <xml-properties>
+                               <xml-property name="description" value="Collection of wan-port-configs"/>
+                       </xml-properties>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="wanPortConfig" name="wan-port-config" type="inventory.aai.onap.org.v15.WanPortConfig"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type name="ExtAaiNetworks">
+                       <xml-root-element name="ext-aai-networks"/>
+                       <java-attributes>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="extAaiNetwork" name="ext-aai-network" type="inventory.aai.onap.org.v15.ExtAaiNetwork"/>
+                       </java-attributes>
+               </java-type>
+               <java-type name="ExtAaiNetwork">
+                       <xml-root-element name="ext-aai-network"/>
+                       <java-attributes>
+                               <xml-element java-attribute="aaiId" name="aai-id" required="true" type="java.lang.String" xml-key="true">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Unique ID of the referenced AAI."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="schemaVersion" name="schema-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Schema version of the referenced AAI."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Used for optimistic concurrency.  Must be empty on create, valid on update and delete."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="esrSystemInfo" name="esr-system-info" type="inventory.aai.onap.org.v15.EsrSystemInfo"/>
+
+                               <!-- Want to use these as sub-components, but workaround is to use COUSIN edges in relationship-list.
+                               <xml-element java-attribute="logicalLinks" name="logical-links" type="inventory.aai.onap.org.v15.LogicalLinks" />
+                               <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v15.VpnBindings" />
+                               <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v15.Pnfs" />
+
+                               <xml-element java-attribute="connectivities" name="connectivities" type="inventory.aai.onap.org.v15.Connectivities" />
+                               <xml-element java-attribute="lanPortConfigs" name="lan-port-configs" type="inventory.aai.onap.org.v15.LanPortConfigs" />
+                               <xml-element java-attribute="networkResources" name="network-resources" type="inventory.aai.onap.org.v15.NetworkResources" />
+                               <xml-element java-attribute="siteResources" name="site-resources" type="inventory.aai.onap.org.v15.SiteResources" />
+                               <xml-element java-attribute="sdwanVpns" name="sdwan-vpns" type="inventory.aai.onap.org.v15.SdwanVpns" />
+                               <xml-element java-attribute="devices" name="devices" type="inventory.aai.onap.org.v15.Devices" />
+                               <xml-element java-attribute="wanPortConfigs" name="wan-port-configs" type="inventory.aai.onap.org.v15.WanPortConfigs" /> -->
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v15.RelationshipList"/>
+                               </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Refer to an external AAI in another ONAP."/>
+                               <xml-property name="indexedProps" value="aai-id"/>
+                               <xml-property name="searchable" value="aai-id"/>
+                               <xml-property name="container" value="ext-aai-networks"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="aai-id"/>
+            <xml-property name="uriTemplate" value="/network/ext-aai-networks/ext-aai-network/{aai-id}"/>
+            </xml-properties>
+               </java-type>
+
+        <java-type name="Common">
+            <xml-properties>
+                <xml-property name="description" value="Namespace for common inventory resources."/>
+            </xml-properties>
+            <xml-root-element name="common"/>
+            <java-attributes>
+               <xml-element java-attribute="contacts" name="contacts" type="inventory.aai.onap.org.v15.Contacts"/>
+            </java-attributes>
+               </java-type>
+               
+               <java-type name="Contacts">
+            <xml-properties>
+                <xml-property name="description" value="Collection of contacts"/>
+            </xml-properties>
+            <xml-root-element name="contacts"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="contact" name="contact" type="inventory.aai.onap.org.v15.Contact"/>
+            </java-attributes>
+               </java-type>
+               <java-type name="Contact">
+            <xml-root-element name="contact"/>
+            <java-attributes>
+                <xml-element java-attribute="contactName" name="contact-name" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the contact"/>
+                    </xml-properties>
+                </xml-element>
+                               <xml-element java-attribute="contactTelephone" name="contact-telephone" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Tel no. of contact"/>
+                    </xml-properties>
+                </xml-element>
+                               <xml-element java-attribute="contactEmail" name="contact-email" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="e-mail of contact"/>
+                    </xml-properties>
+                </xml-element>
+                               <xml-element java-attribute="vendorType" name="vendor-type" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="NI (Network Integrator)SI (System Integrator) 3rd Party LCM"/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v15.RelationshipList"/>
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Contacts store the vendor information and have a relationship to the generic-vnf.  In 1902, this will be populated by SDN-GC"/>
+                <xml-property name="uniqueProps" value="contact-name"/>
+                <xml-property name="container" value="contacts"/>
+                <xml-property name="namespace" value="common"/>
+                <xml-property name="nameProps" value="contact-name,vendor-type"/>
+                <xml-property name="uriTemplate" value="/common/contacts/contact/{contact-name}"/>
+            <xml-property name="requiredProps" value="contact-name"/>
+            </xml-properties>
+               </java-type>    
+               
+                               <java-type name="AggregateRoutes">
+            <xml-properties>
+                <xml-property name="description" value="Collection of aggregate routes."/>
+            </xml-properties>
+            <xml-root-element name="aggregate-routes"/>
+            <java-attributes>
+                <xml-element container-type="java.util.ArrayList" java-attribute="aggregateRoute" name="aggregate-route" type="inventory.aai.onap.org.v15.AggregateRoute"/>
+            </java-attributes>
+        </java-type>   
+        
+        <java-type name="AggregateRoute">
+            <xml-root-element name="aggregate-route"/>
+            <java-attributes>
+                <xml-element java-attribute="routeId" name="route-id" required="true" type="java.lang.String" xml-key="true">
+                    <xml-properties>
+                        <xml-property name="description" value="Unique id of the aggregate-route instance"/>
+                    </xml-properties>
+                </xml-element>                
+                <xml-element java-attribute="networkStartAddress" name="network-start-address" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Name of the forwarding-path"/>
+                    </xml-properties>
+                </xml-element>                
+                <xml-element java-attribute="cidrMask" name="cidr-mask" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="CIDR-mask for aggregate route subnet"/>
+                    </xml-properties>
+                </xml-element>                
+                <xml-element java-attribute="ipVersion" name="ip-version" required="true" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="description" value="Identifies is aggregate route is ipv4 or ipv6"/>
+                    </xml-properties>
+                </xml-element>                
+                 <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v15.RelationshipList"/>                   
+            </java-attributes>
+            <xml-properties>
+                <xml-property name="description" value="Aggregate route configs are used on the D2 IPE’s for the Voice services.  In 1902, SDNC will create aggregate-route objects and write them to A&amp;AI. "/>
+                <xml-property name="uniqueProps" value="route-id"/>
+                <xml-property name="container" value="aggregate-routes"/> 
+                <xml-property name="dependentOn" value="l3-network"/>
+                <xml-property name="uriTemplate" value="/aggregate-routes/aggregate-route/{route-id}"/>
+            <xml-property name="requiredProps" value="route-id,network-start-address,cidr-mask,ip-version"/>
+            </xml-properties>
+               </java-type>
+                       
+       </java-types>
+</xml-bindings>
diff --git a/aai-schema/src/main/resources/onap/oxm/v8/aai_oxm_v8.xml b/aai-schema/src/main/resources/onap/oxm/v8/aai_oxm_v8.xml
new file mode 100644 (file)
index 0000000..f23be3c
--- /dev/null
@@ -0,0 +1,4778 @@
+<!--
+
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 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=========================================================
+
+    ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+--><xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.org.v8" xml-mapping-metadata-complete="true">
+       <xml-schema element-form-default="QUALIFIED">
+               <xml-ns namespace-uri="http://org.openecomp.aai.inventory/v8"/>
+       </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.onap.org.v8.Search"/>
+                               <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v8.Actions"/>
+                               <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v8.CloudInfrastructure"/>
+                               <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v8.Business"/>
+                               <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v8.ServiceDesignAndCreation"/>
+                               <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v8.Network"/>
+                               <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v8.AaiInternal"/>
+                       </java-attributes>
+               </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.onap.org.v8.EdgeTagQueryResult"/>
+                               <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v8.EdgeTagQueryRequest"/>
+                               <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v8.SearchResults"/>
+                               <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.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.onap.org.v8.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.onap.org.v8.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.onap.org.v8.InventoryItemData"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.org.v8.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.onap.org.v8.StartNodeFilter"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v8.IncludeNodeFilter"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.org.v8.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.onap.org.v8.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.onap.org.v8.OamNetworks"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.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.onap.org.v8.DvsSwitches"/>
+                               <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.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)."/>
+                       </xml-properties>
+                       <xml-root-element name="actions"/>
+                       <java-attributes>
+                               <xml-element java-attribute="update" name="update" type="inventory.aai.onap.org.v8.Update"/>
+                               <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.org.v8.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-property name="requiredProps" value="update-node-type"/>
+            </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.onap.org.v8.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.onap.org.v8.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.onap.org.v8.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.onap.org.v8.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.onap.org.v8.Complexes"/>
+                               <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v8.CloudRegions"/>
+                               <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v8.NetworkProfiles"/>
+                               <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v8.Pservers"/>
+                               <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.org.v8.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.onap.org.v8.CloudRegion"/>
+                       </java-attributes>
+               </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"/>
+                                       </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"/>
+                                       </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"/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v8.VolumeGroups"/>
+                               <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v8.Tenants"/>
+                               <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v8.Flavors"/>
+                               <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v8.GroupAssignments"/>
+                               <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v8.Snapshots"/>
+                               <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v8.Images"/>
+                               <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v8.DvsSwitches"/>
+                               <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v8.OamNetworks"/>
+                               <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v8.AvailabilityZones"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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."/>
+                               <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-property name="requiredProps" value="cloud-owner,cloud-region-id"/>
+            <xml-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+            </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.onap.org.v8.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 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">
+                                       <xml-properties>
+                                               <xml-property name="description" value="Orchestration status of this 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.onap.org.v8.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="dependentOn" value="cloud-region"/>
+                               <xml-property name="container" value="volume-groups"/>
+                       <xml-property name="requiredProps" value="volume-group-id,volume-group-name,vnf-type"/>
+            <xml-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+            </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.onap.org.v8.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.onap.org.v8.RelationshipData"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.org.v8.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.onap.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.onap.org.v8.CtagPools"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="requiredProps" value="physical-location-id,physical-location-type,street1,city,postal-code,country,region"/>
+            <xml-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="target-pe,availability-zone-name,ctag-pool-purpose"/>
+            <xml-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+            </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.onap.org.v8.Tenant"/>
+                       </java-attributes>
+               </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.onap.org.v8.Vservers"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v8.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="dependentOn" value="cloud-region"/>
+                               <xml-property name="container" value="tenants"/>
+                       <xml-property name="requiredProps" value="tenant-id,tenant-name"/>
+            <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+            </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.onap.org.v8.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" 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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v8.Volumes"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v8.RelationshipList"/>
+                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v8.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-name,vserver-id,vserver-name2"/>
+                               <xml-property name="dependentOn" value="tenant"/>
+                               <xml-property name="container" value="vservers"/>
+                       <xml-property name="requiredProps" value="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled"/>
+            <xml-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+            </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.onap.org.v8.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="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v8.Vlans"/>
+                               <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v8.SriovVfs"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v8.RelationshipList"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v8.L3InterfaceIpv4AddressList"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v8.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,p-interface,vserver,lag-interface"/>
+                               <xml-property name="container" value="l-interfaces"/>
+                       <xml-property name="requiredProps" value="interface-name"/>
+            <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="pci-id"/>
+            <xml-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+            </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.onap.org.v8.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-property name="requiredProps" value="l3-interface-ipv4-address"/>
+            </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.onap.org.v8.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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v8.RelationshipList"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v8.L3InterfaceIpv4AddressList"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.org.v8.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-property name="requiredProps" value="vlan-interface"/>
+            <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+            </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.onap.org.v8.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-property name="requiredProps" value="l3-interface-ipv6-address"/>
+            </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.onap.org.v8.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.onap.org.v8.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-property name="requiredProps" value="volume-id,volume-selflink"/>
+            <xml-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+            </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.onap.org.v8.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.onap.org.v8.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-property name="requiredProps" value="flavor-id,flavor-name,flavor-selflink"/>
+            <xml-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+            </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.onap.org.v8.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.onap.org.v8.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-property name="requiredProps" value="snapshot-id"/>
+            <xml-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+            </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.onap.org.v8.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.onap.org.v8.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-property name="requiredProps" value="group-id,group-type,group-name"/>
+            <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+            </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.onap.org.v8.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.onap.org.v8.RelationshipList"/>
+                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v8.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-property name="requiredProps" value="image-id,image-name,image-os-distro,image-os-version,image-selflink"/>
+            <xml-property name="uriTemplate" value="/images/image/{image-id}"/>
+            </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.onap.org.v8.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-property name="requiredProps" value="metaname,metaval"/>
+            <xml-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+            </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 GenericVnfs."/>
+                       </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.onap.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.onap.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-property name="requiredProps" value="switch-name,vcenter-url"/>
+            <xml-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="nm-profile-name"/>
+            <xml-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+            </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.onap.org.v8.Pserver"/>
+                       </java-attributes>
+               </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="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" 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). 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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v8.RelationshipList"/>
+                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v8.PInterfaces"/>
+                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v8.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"/>
+                               <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-property name="requiredProps" value="hostname,in-maint"/>
+            <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+            </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.onap.org.v8.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="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v8.RelationshipList"/>
+                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v8.LInterfaces"/>
+                       </java-attributes>
+                       <xml-properties>
+                               <xml-property name="description" value="Physical interface (e.g., nic)"/>
+                               <xml-property name="indexedProps" value="interface-name"/>
+                               <xml-property name="dependentOn" value="vpls-pe,pserver,pnf"/>
+                               <xml-property name="container" value="p-interfaces"/>
+                       <xml-property name="requiredProps" value="interface-name"/>
+            <xml-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+            </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.onap.org.v8.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="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v8.RelationshipList"/>
+                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v8.LInterfaces"/>
+                       </java-attributes>
+                       <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,vpls-pe,pnf"/>
+                               <xml-property name="container" value="lag-interfaces"/>
+                       <xml-property name="requiredProps" value="interface-name"/>
+            <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="network-uuid,network-name,cvlan-tag"/>
+            <xml-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+            </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.onap.org.v8.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.onap.org.v8.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-property name="requiredProps" value="availability-zone-name,hypervisor-type"/>
+            <xml-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+            </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.onap.org.v8.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.onap.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-property name="requiredProps" value="vdc-id,vdc-name"/>
+            <xml-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+            </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.onap.org.v8.Connectors"/>
+                               <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.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.onap.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.onap.org.v8.RelationshipList"/>
+                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.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-property name="requiredProps" value="resource-instance-id"/>
+            <xml-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+            </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.onap.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-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.onap.org.v8.ServiceSubscriptions"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v8.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="subscriber-name,global-customer-id"/>
+                               <xml-property name="uniqueProps" value="global-customer-id"/>
+                               <xml-property name="container" value="customers"/>
+                               <xml-property name="namespace" value="business"/>
+                       <xml-property name="requiredProps" value="global-customer-id,subscriber-name,subscriber-type"/>
+            <xml-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+            </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.onap.org.v8.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.onap.org.v8.ServiceInstances">
+                               </xml-element>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v8.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="requiredProps" value="service-type"/>
+            <xml-property name="uriTemplate" value="/service-subscriptions/service-subscription/{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.onap.org.v8.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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v8.RelationshipList"/>
+                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v8.Metadata"/>
+                       </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"/>
+                               <xml-property name="nameProps" value="service-instance-name"/>
+                               <xml-property name="searchable" value="service-instance-id"/>
+                               <xml-property name="uniqueProps" value="service-instance-id"/>
+                               <xml-property name="dependentOn" value="service-subscription"/>
+                               <xml-property name="container" value="service-instances"/>
+                       <xml-property name="requiredProps" value="service-instance-id"/>
+            <xml-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+            </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.onap.org.v8.VnfImages"/>
+                               <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v8.Services"/>
+                               <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v8.ServiceCapabilities"/>
+                               <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v8.Models"/>
+                               <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.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.onap.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-property name="dbAlias" value="vnf-image-uuid"/>
+                                       </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.onap.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-property name="requiredProps" value="vnf-image-uuid,application,application-vendor"/>
+            <xml-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{vnf-image-uuid}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="service-id,service-description"/>
+            <xml-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="service-type,vnf-type"/>
+            <xml-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+            </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.onap.org.v8.LogicalLinks"/>
+                               <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v8.SitePairSets"/>
+                               <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v8.VpnBindings"/>
+                               <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v8.VplsPes"/>
+                               <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v8.MulticastConfigurations"/>
+                               <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v8.Vces"/>
+                               <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v8.Vnfcs"/>
+                               <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v8.L3Networks"/>
+                               <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v8.NetworkPolicies"/>
+                               <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v8.GenericVnfs"/>
+                               <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v8.LagLinks"/>
+                               <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v8.Newvces"/>
+                               <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v8.Pnfs"/>
+                               <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v8.PhysicalLinks"/>
+                               <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v8.IpsecConfigurations"/>
+                               <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.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.onap.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.onap.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-property name="requiredProps" value="link-name,link-type"/>
+            <xml-property name="uriTemplate" value="/network/logical-links/logical-link/{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.onap.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.onap.org.v8.RoutingInstances"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="requiredProps" value="site-pair-set-id"/>
+            <xml-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+            </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.onap.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.onap.org.v8.SitePairs"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+            </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.onap.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.onap.org.v8.ClassesOfService"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="vpn-id,vpn-name,global-route-target"/>
+            <xml-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+            </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.onap.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 generic-vnf, also used for troubleshooting and is IP used for traps generated by GenericVnf (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.onap.org.v8.RelationshipList"/>
+                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v8.PInterfaces"/>
+                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.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-property name="requiredProps" value="equipment-name"/>
+            <xml-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+            </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.onap.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.onap.org.v8.PortGroups"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="requiredProps" value="vnf-id,vnf-name,vnf-type"/>
+            <xml-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+            </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.onap.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.onap.org.v8.CvlanTags"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="requiredProps" value="interface-id,orchestration-status"/>
+            <xml-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+            </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.onap.org.v8.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.onap.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-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag-cvlan-tag}"/>
+            </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.onap.org.v8.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" 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 default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v8.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="container" value="vnfcs"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+            </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.onap.org.v8.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" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" 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"/>
+                                       </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="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="subnets" name="subnets" type="inventory.aai.onap.org.v8.Subnets"/>
+                               <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v8.CtagAssignments"/>
+                               <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v8.SegmentationAssignments"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v8.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"/>
+                               <xml-property name="uniqueProps" value="network-id"/>
+                               <xml-property name="container" value="l3-networks"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="network-id,network-name,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-network"/>
+            <xml-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+            </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.onap.org.v8.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.onap.org.v8.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-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+            </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.onap.org.v8.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" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" 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.onap.org.v8.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-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+            </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.onap.org.v8.GenericVnf"/>
+                       </java-attributes>
+               </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 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"/>
+                                       </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="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"/>
+                                       </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"/>
+                                       </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"/>
+                                       </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"/>
+                                       </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"/>
+                                       </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"/>
+                                       </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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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"/>
+                                       </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="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="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v8.RelationshipList"/>
+                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v8.LInterfaces"/>
+                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v8.LagInterfaces"/>
+                               <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v8.VfModules"/>
+                       </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-property name="requiredProps" value="vnf-id,vnf-name,vnf-type,in-maint,is-closed-loop-disabled"/>
+            <xml-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+            </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.onap.org.v8.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" java-attribute="isBaseVfModule" name="is-base-vf-module" 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 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.onap.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-property name="requiredProps" value="vf-module-id,is-base-vf-module"/>
+            <xml-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="link-name"/>
+            <xml-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+            </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.onap.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="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="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="License key"/>
+                                       </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 GenericVnf (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."/>
+                                       </xml-properties>
+                               </xml-element>
+                               <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v8.RelationshipList"/>
+                               <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v8.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-property name="requiredProps" value="vnf-id2,vnf-name,vnf-type"/>
+            <xml-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+            </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.onap.org.v8.Pnf"/>
+                       </java-attributes>
+               </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 java-attribute="orchestrationStatus" name="orchestration-status" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="description" value="orchestration-status is the status of orchestration on the PNF."/>
+                                       </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). 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="resourceVersion" name="resource-version" type="java.lang.String">
+                                       <xml-properties>
+                                               <xml-property name="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.onap.org.v8.RelationshipList"/>
+                               <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v8.PInterfaces"/>
+                               <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v8.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"/>
+                               <xml-property name="uniqueProps" value="pnf-name"/>
+                               <xml-property name="container" value="pnfs"/>
+                               <xml-property name="namespace" value="network"/>
+                       <xml-property name="requiredProps" value="pnf-name,in-maint"/>
+            <xml-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+            </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.onap.org.v8.PhysicalLink"/>
+                       </java-attributes>
+               </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.onap.org.v8.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="requiredProps" value="link-name"/>
+            <xml-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="vig-address-type"/>
+            <xml-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+            </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.onap.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.onap.org.v8.RelationshipList"/>
+                               <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.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-property name="requiredProps" value="ipsec-configuration-id"/>
+            <xml-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+            </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.onap.org.v8.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.onap.org.v8.ReservedPropNames"/>
+                               <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.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-property name="uniqueProps" value="aai-unique-key"/>
+                               <xml-property name="indexedProps" value="aai-unique-key,source-of-truth,aai-node-type"/>
+                       </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"/>
+                       </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.onap.org.v8.Model"/>
+                       </java-attributes>
+               </java-type>
+
+               <java-type 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"/>
+                               <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"/>
+                               <xml-property name="uniqueProps" value="model-name-version-id"/>
+                               <xml-property name="container" value="models"/>
+                               <xml-property name="namespace" value="service-design-and-creation"/>
+                       <xml-property name="requiredProps" value="model-name-version-id,model-type,model-name,model-id,model-version"/>
+            <xml-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-name-version-id}"/>
+            </xml-properties>
+                       <xml-root-element name="model"/>
+                       <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 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="modelElements" name="model-elements" type="inventory.aai.onap.org.v8.ModelElements"/>
+                               <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v8.Metadata"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v8.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.onap.org.v8.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-property name="requiredProps" value="model-element-uuid,new-data-del-flag,cardinality"/>
+            <xml-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+            </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.onap.org.v8.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.onap.org.v8.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.onap.org.v8.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.onap.org.v8.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-property name="requiredProps" value="model-constraint-uuid,constrained-element-set-uuid-to-replace"/>
+            <xml-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+            </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.onap.org.v8.ConstrainedElementSets"/>
+                       </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.onap.org.v8.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-property name="requiredProps" value="constrained-element-set-uuid,constraint-type,check-type"/>
+            <xml-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+            </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.onap.org.v8.ElementChoiceSets"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v8.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.onap.org.v8.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-property name="requiredProps" value="element-choice-set-uuid,element-choice-set-name"/>
+            <xml-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+            </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.onap.org.v8.ModelElements"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v8.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.onap.org.v8.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-property name="requiredProps" value="named-query-uuid,named-query-name,named-query-version"/>
+            <xml-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+            </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.onap.org.v8.NamedQueryElements"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v8.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.onap.org.v8.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-property name="requiredProps" value="named-query-element-uuid"/>
+            <xml-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+            </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.onap.org.v8.NamedQueryElements"/>
+                               <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v8.RelatedLookups"/>
+                               <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v8.PropertyConstraints"/>
+                               <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v8.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.onap.org.v8.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-property name="requiredProps" value="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property"/>
+            <xml-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+            </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.onap.org.v8.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.onap.org.v8.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-property name="requiredProps" value="property-constraint-uuid,constraint-type,property-name,property-value"/>
+            <xml-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+            </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="property-name" name="property-name" required="true" type="java.lang.String"/>
+                               <xml-element java-attribute="property-value" 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.onap.org.v8.QueryParameters"/>
+                               <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v8.InstanceFilters"/>
+                               <xml-element java-attribute="topNodeType" name="top-node-type" 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.onap.org.v8.NamedQuery"/>
+                               <xml-element java-attribute="model" name="model" type="inventory.aai.onap.org.v8.Model"/>
+                       </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.onap.org.v8.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="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.onap.org.v8.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.onap.org.v8.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.onap.org.v8.ExtraProperties"/>
+                               <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.org.v8.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.onap.org.v8.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.onap.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.onap.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-property name="requiredProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+            <xml-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="segmentation-id"/>
+            <xml-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+            </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,generic-vnf"/>
+                               <xml-property name="abstract" value="true"/>
+                       <xml-property name="requiredProps" value="vnf-id"/>
+            </xml-properties>
+               </java-type>
+       </java-types>
+</xml-bindings>
diff --git a/aai-schema/src/main/resources/onap/oxm/v9/aai_oxm_v9.xml b/aai-schema/src/main/resources/onap/oxm/v9/aai_oxm_v9.xml
new file mode 100644 (file)
index 0000000..59aea58
--- /dev/null
@@ -0,0 +1,5469 @@
+<!--
+
+    ============LICENSE_START=======================================================
+    org.onap.aai
+    ================================================================================
+    Copyright © 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=========================================================
+
+    ECOMP is a trademark and service mark of AT&T Intellectual Property.
+
+--><xml-bindings xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm" package-name="inventory.aai.onap.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.onap.org.v9.Search"/>
+                <xml-element java-attribute="actions" name="actions" type="inventory.aai.onap.org.v9.Actions"/>
+                <xml-element java-attribute="cloudInfrastructure" name="cloud-infrastructure" type="inventory.aai.onap.org.v9.CloudInfrastructure"/>
+                <xml-element java-attribute="business" name="business" type="inventory.aai.onap.org.v9.Business"/>
+                <xml-element java-attribute="serviceDesignAndCreation" name="service-design-and-creation" type="inventory.aai.onap.org.v9.ServiceDesignAndCreation"/>
+                <xml-element java-attribute="network" name="network" type="inventory.aai.onap.org.v9.Network"/>
+                <xml-element java-attribute="aaiInternal" name="aai-internal" type="inventory.aai.onap.org.v9.AaiInternal"/>
+                <xml-element java-attribute="nodes" name="nodes" type="inventory.aai.onap.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.onap.org.v9.EdgeTagQueryResult"/>
+                <xml-element java-attribute="edgeTagQueryRequest" name="edge-tag-query-request" type="inventory.aai.onap.org.v9.EdgeTagQueryRequest"/>
+                <xml-element java-attribute="searchResults" name="search-results" type="inventory.aai.onap.org.v9.SearchResults"/>
+                <xml-element java-attribute="sdnZoneResponse" name="sdn-zone-response" type="inventory.aai.onap.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.onap.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.onap.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.onap.org.v9.InventoryItemData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="taggedInventoryItemList" name="tagged-inventory-item-list" type="inventory.aai.onap.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.onap.org.v9.StartNodeFilter"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="includeNodeFilter" name="include-node-filter" type="inventory.aai.onap.org.v9.IncludeNodeFilter"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="secondaryFilter" name="secondary-filter" type="inventory.aai.onap.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.onap.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.onap.org.v9.OamNetworks"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="azAndDvsSwitches" name="az-and-dvs-switches" type="inventory.aai.onap.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.onap.org.v9.DvsSwitches"/>
+                <xml-element java-attribute="availabilityZone" name="availability-zone" type="inventory.aai.onap.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.onap.org.v9.Update"/>
+                <xml-element java-attribute="notify" name="notify" type="inventory.aai.onap.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-property name="requiredProps" value="update-node-type"/>
+            </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.onap.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.onap.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.onap.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.onap.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.onap.org.v9.Complexes"/>
+                <xml-element java-attribute="cloudRegions" name="cloud-regions" type="inventory.aai.onap.org.v9.CloudRegions"/>
+                <xml-element java-attribute="networkProfiles" name="network-profiles" type="inventory.aai.onap.org.v9.NetworkProfiles"/>
+                <xml-element java-attribute="pservers" name="pservers" type="inventory.aai.onap.org.v9.Pservers"/>
+                <xml-element java-attribute="virtualDataCenters" name="virtual-data-centers" type="inventory.aai.onap.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.onap.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.onap.org.v9.VolumeGroups"/>
+                <xml-element java-attribute="tenants" name="tenants" type="inventory.aai.onap.org.v9.Tenants"/>
+                <xml-element java-attribute="flavors" name="flavors" type="inventory.aai.onap.org.v9.Flavors"/>
+                <xml-element java-attribute="groupAssignments" name="group-assignments" type="inventory.aai.onap.org.v9.GroupAssignments"/>
+                <xml-element java-attribute="snapshots" name="snapshots" type="inventory.aai.onap.org.v9.Snapshots"/>
+                <xml-element java-attribute="images" name="images" type="inventory.aai.onap.org.v9.Images"/>
+                <xml-element java-attribute="dvsSwitches" name="dvs-switches" type="inventory.aai.onap.org.v9.DvsSwitches"/>
+                <xml-element java-attribute="oamNetworks" name="oam-networks" type="inventory.aai.onap.org.v9.OamNetworks"/>
+                <xml-element java-attribute="availabilityZones" name="availability-zones" type="inventory.aai.onap.org.v9.AvailabilityZones"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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."/>
+                <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-property name="requiredProps" value="cloud-owner,cloud-region-id"/>
+            <xml-property name="uriTemplate" value="/cloud-infrastructure/cloud-regions/cloud-region/{cloud-owner}/{cloud-region-id}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="volume-group-id,volume-group-name,vnf-type"/>
+            <xml-property name="uriTemplate" value="/volume-groups/volume-group/{volume-group-id}"/>
+            </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.onap.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.onap.org.v9.RelationshipData"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="relatedToProperty" name="related-to-property" type="inventory.aai.onap.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.onap.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.onap.org.v9.CtagPools"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="requiredProps" value="physical-location-id,physical-location-type,street1,city,postal-code,country,region"/>
+            <xml-property name="uriTemplate" value="/cloud-infrastructure/complexes/complex/{physical-location-id}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="target-pe,availability-zone-name,ctag-pool-purpose"/>
+            <xml-property name="uriTemplate" value="/ctag-pools/ctag-pool/{target-pe}/{availability-zone-name}"/>
+            </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.onap.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.onap.org.v9.Vservers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="requiredProps" value="tenant-id,tenant-name"/>
+            <xml-property name="uriTemplate" value="/tenants/tenant/{tenant-id}"/>
+            </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.onap.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" 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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v9.Volumes"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v9.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.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-property name="requiredProps" value="vserver-id,vserver-name,vserver-selflink,in-maint,is-closed-loop-disabled"/>
+            <xml-property name="uriTemplate" value="/vservers/vserver/{vserver-id}"/>
+            </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.onap.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.onap.org.v9.Vlans"/>
+                <xml-element java-attribute="sriovVfs" name="sriov-vfs" type="inventory.aai.onap.org.v9.SriovVfs"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.org.v9.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v9.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.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,p-interface,vserver,lag-interface"/>
+                <xml-property name="container" value="l-interfaces"/>
+            <xml-property name="requiredProps" value="interface-name"/>
+            <xml-property name="uriTemplate" value="/l-interfaces/l-interface/{interface-name}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="pci-id"/>
+            <xml-property name="uriTemplate" value="/sriov-vfs/sriov-vf/{pci-id}"/>
+            </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.onap.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-property name="requiredProps" value="l3-interface-ipv4-address"/>
+            </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.onap.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.onap.org.v9.RelationshipList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv4AddressList" name="l3-interface-ipv4-address-list" type="inventory.aai.onap.org.v9.L3InterfaceIpv4AddressList"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="l3InterfaceIpv6AddressList" name="l3-interface-ipv6-address-list" type="inventory.aai.onap.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-property name="requiredProps" value="vlan-interface"/>
+            <xml-property name="uriTemplate" value="/vlans/vlan/{vlan-interface}"/>
+            </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.onap.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-property name="requiredProps" value="l3-interface-ipv6-address"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="volume-id,volume-selflink"/>
+            <xml-property name="uriTemplate" value="/volumes/volume/{volume-id}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="flavor-id,flavor-name,flavor-selflink"/>
+            <xml-property name="uriTemplate" value="/flavors/flavor/{flavor-id}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="snapshot-id"/>
+            <xml-property name="uriTemplate" value="/snapshots/snapshot/{snapshot-id}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="group-id,group-type,group-name"/>
+            <xml-property name="uriTemplate" value="/group-assignments/group-assignment/{group-id}"/>
+            </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.onap.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.onap.org.v9.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.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-property name="requiredProps" value="image-id,image-name,image-os-distro,image-os-version,image-selflink"/>
+            <xml-property name="uriTemplate" value="/images/image/{image-id}"/>
+            </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.onap.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-property name="requiredProps" value="metaname,metaval"/>
+            <xml-property name="uriTemplate" value="/metadata/metadatum/{metaname}"/>
+            </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 GenericVnfs."/>
+            </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.onap.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.onap.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-property name="requiredProps" value="switch-name,vcenter-url"/>
+            <xml-property name="uriTemplate" value="/dvs-switches/dvs-switch/{switch-name}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="nm-profile-name"/>
+            <xml-property name="uriTemplate" value="/cloud-infrastructure/network-profiles/network-profile/{nm-profile-name}"/>
+            </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.onap.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" 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). 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.onap.org.v9.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v9.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.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-property name="requiredProps" value="hostname,in-maint"/>
+            <xml-property name="uriTemplate" value="/cloud-infrastructure/pservers/pserver/{hostname}"/>
+            </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.onap.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.onap.org.v9.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.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-property name="requiredProps" value="interface-name"/>
+            <xml-property name="uriTemplate" value="/p-interfaces/p-interface/{interface-name}"/>
+            </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.onap.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.onap.org.v9.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.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,vpls-pe,pnf"/>
+                <xml-property name="container" value="lag-interfaces"/>
+            <xml-property name="requiredProps" value="interface-name"/>
+            <xml-property name="uriTemplate" value="/lag-interfaces/lag-interface/{interface-name}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="network-uuid,network-name,cvlan-tag"/>
+            <xml-property name="uriTemplate" value="/oam-networks/oam-network/{network-uuid}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="availability-zone-name,hypervisor-type"/>
+            <xml-property name="uriTemplate" value="/availability-zones/availability-zone/{availability-zone-name}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="vdc-id,vdc-name"/>
+            <xml-property name="uriTemplate" value="/cloud-infrastructure/virtual-data-centers/virtual-data-center/{vdc-id}"/>
+            </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.onap.org.v9.Connectors"/>
+                <xml-element java-attribute="customers" name="customers" type="inventory.aai.onap.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.onap.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.onap.org.v9.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.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-property name="requiredProps" value="resource-instance-id"/>
+            <xml-property name="uriTemplate" value="/business/connectors/connector/{resource-instance-id}"/>
+            </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.onap.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.onap.org.v9.ServiceSubscriptions"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="requiredProps" value="global-customer-id,subscriber-name,subscriber-type"/>
+            <xml-property name="uriTemplate" value="/business/customers/customer/{global-customer-id}"/>
+            </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.onap.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.onap.org.v9.ServiceInstances">
+                </xml-element>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="requiredProps" value="service-type"/>
+            <xml-property name="uriTemplate" value="/service-subscriptions/service-subscription/{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.onap.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.onap.org.v9.RelationshipList"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v9.Metadata"/>
+                <xml-element java-attribute="allottedResources" name="allotted-resources" type="inventory.aai.onap.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-property name="requiredProps" value="service-instance-id"/>
+            <xml-property name="uriTemplate" value="/service-instances/service-instance/{service-instance-id}"/>
+            </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.onap.org.v9.VnfImages"/>
+                <xml-element java-attribute="services" name="services" type="inventory.aai.onap.org.v9.Services"/>
+                <xml-element java-attribute="serviceCapabilities" name="service-capabilities" type="inventory.aai.onap.org.v9.ServiceCapabilities"/>
+                <xml-element java-attribute="models" name="models" type="inventory.aai.onap.org.v9.Models"/>
+                <xml-element java-attribute="namedQueries" name="named-queries" type="inventory.aai.onap.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.onap.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.onap.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-property name="requiredProps" value="vnf-image-uuid,application,application-vendor"/>
+            <xml-property name="uriTemplate" value="/service-design-and-creation/vnf-images/vnf-image/{vnf-image-uuid}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="service-id,service-description"/>
+            <xml-property name="uriTemplate" value="/service-design-and-creation/services/service/{service-id}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="service-type,vnf-type"/>
+            <xml-property name="uriTemplate" value="/service-design-and-creation/service-capabilities/service-capability/{service-type}/{vnf-type}"/>
+            </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.onap.org.v9.LogicalLinks"/>
+                <xml-element java-attribute="sitePairSets" name="site-pair-sets" type="inventory.aai.onap.org.v9.SitePairSets"/>
+                <xml-element java-attribute="vpnBindings" name="vpn-bindings" type="inventory.aai.onap.org.v9.VpnBindings"/>
+                <xml-element java-attribute="vplsPes" name="vpls-pes" type="inventory.aai.onap.org.v9.VplsPes"/>
+                <xml-element java-attribute="multicastConfigurations" name="multicast-configurations" type="inventory.aai.onap.org.v9.MulticastConfigurations"/>
+                <xml-element java-attribute="vces" name="vces" type="inventory.aai.onap.org.v9.Vces"/>
+                <xml-element java-attribute="vnfcs" name="vnfcs" type="inventory.aai.onap.org.v9.Vnfcs"/>
+                <xml-element java-attribute="l3Networks" name="l3-networks" type="inventory.aai.onap.org.v9.L3Networks"/>
+                <xml-element java-attribute="networkPolicies" name="network-policies" type="inventory.aai.onap.org.v9.NetworkPolicies"/>
+                <xml-element java-attribute="genericVnfs" name="generic-vnfs" type="inventory.aai.onap.org.v9.GenericVnfs"/>
+                <xml-element java-attribute="lagLinks" name="lag-links" type="inventory.aai.onap.org.v9.LagLinks"/>
+                <xml-element java-attribute="newvces" name="newvces" type="inventory.aai.onap.org.v9.Newvces"/>
+                <xml-element java-attribute="pnfs" name="pnfs" type="inventory.aai.onap.org.v9.Pnfs"/>
+                <xml-element java-attribute="physicalLinks" name="physical-links" type="inventory.aai.onap.org.v9.PhysicalLinks"/>
+                <xml-element java-attribute="ipsecConfigurations" name="ipsec-configurations" type="inventory.aai.onap.org.v9.IpsecConfigurations"/>
+                <xml-element java-attribute="routeTableReferences" name="route-table-references" type="inventory.aai.onap.org.v9.RouteTableReferences"/>
+                <xml-element java-attribute="instanceGroups" name="instance-groups" type="inventory.aai.onap.org.v9.InstanceGroups"/>
+                <xml-element java-attribute="zones" name="zones" type="inventory.aai.onap.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.onap.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.onap.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-property name="requiredProps" value="link-name,link-type"/>
+            <xml-property name="uriTemplate" value="/network/logical-links/logical-link/{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.onap.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.onap.org.v9.RoutingInstances"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="requiredProps" value="site-pair-set-id"/>
+            <xml-property name="uriTemplate" value="/network/site-pair-sets/site-pair-set/{site-pair-set-id}"/>
+            </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.onap.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.onap.org.v9.SitePairs"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="uriTemplate" value="/routing-instances/routing-instance/{routing-instance-id}"/>
+            </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.onap.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.onap.org.v9.ClassesOfService"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="uriTemplate" value="/site-pairs/site-pair/{site-pair-id}"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/classes-of-service/class-of-service/{cos}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="vpn-id,vpn-name,global-route-target,route-target-role"/>
+            <xml-property name="uriTemplate" value="/network/vpn-bindings/vpn-binding/{vpn-id}"/>
+            </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.onap.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 generic-vnf, 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.onap.org.v9.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v9.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.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-property name="requiredProps" value="equipment-name"/>
+            <xml-property name="uriTemplate" value="/network/vpls-pes/vpls-pe/{equipment-name}"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/network/multicast-configurations/multicast-configuration/{multicast-configuration-id}"/>
+            </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.onap.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.onap.org.v9.PortGroups"/>
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v9.Licenses"/>
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.org.v9.Entitlements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="requiredProps" value="vnf-id,vnf-name,vnf-type"/>
+            <xml-property name="uriTemplate" value="/network/vces/vce/{vnf-id}"/>
+            </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.onap.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.onap.org.v9.CvlanTags"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="requiredProps" value="interface-id,orchestration-status"/>
+            <xml-property name="uriTemplate" value="/port-groups/port-group/{interface-id}"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/cvlan-tags/cvlan-tag/{cvlan-tag-cvlan-tag}"/>
+            </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.onap.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-property name="dbAlias" value="nfc-naming-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-property name="dbAlias" value="nfc-function"/>
+                                       </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" 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 default-value="false" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.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-property name="uriTemplate" value="/network/vnfcs/vnfc/{vnfc-name}"/>
+            </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.onap.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" java-attribute="isBoundToVpn" name="is-bound-to-vpn" required="true" 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.onap.org.v9.Subnets"/>
+                <xml-element java-attribute="ctagAssignments" name="ctag-assignments" type="inventory.aai.onap.org.v9.CtagAssignments"/>
+                <xml-element java-attribute="segmentationAssignments" name="segmentation-assignments" type="inventory.aai.onap.org.v9.SegmentationAssignments"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="requiredProps" value="network-id,network-name,is-bound-to-vpn,is-provider-network,is-shared-network,is-external-network"/>
+            <xml-property name="uriTemplate" value="/network/l3-networks/l3-network/{network-id}"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/network/network-policies/network-policy/{network-policy-id}"/>
+            </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.onap.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.onap.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-property name="uriTemplate" value="/ctag-assignments/ctag-assignment/{vlan-id-inner}"/>
+            </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.onap.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" java-attribute="dhcpEnabled" name="dhcp-enabled" required="true" 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.onap.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-property name="uriTemplate" value="/subnets/subnet/{subnet-id}"/>
+            </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.onap.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" 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). 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" java-attribute="isClosedLoopDisabled" name="is-closed-loop-disabled" required="true" 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.onap.org.v9.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.org.v9.LInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.org.v9.LagInterfaces"/>
+                <xml-element java-attribute="vfModules" name="vf-modules" type="inventory.aai.onap.org.v9.VfModules"/>
+                <xml-element java-attribute="licenses" name="licenses" type="inventory.aai.onap.org.v9.Licenses"/>
+                <xml-element java-attribute="entitlements" name="entitlements" type="inventory.aai.onap.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-property name="requiredProps" value="vnf-id,vnf-name,vnf-type,in-maint,is-closed-loop-disabled"/>
+            <xml-property name="uriTemplate" value="/network/generic-vnfs/generic-vnf/{vnf-id}"/>
+            </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.onap.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" java-attribute="isBaseVfModule" name="is-base-vf-module" 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 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.onap.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-property name="requiredProps" value="vf-module-id,is-base-vf-module"/>
+            <xml-property name="uriTemplate" value="/vf-modules/vf-module/{vf-module-id}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="link-name"/>
+            <xml-property name="uriTemplate" value="/network/lag-links/lag-link/{link-name}"/>
+            </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.onap.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 generic-vnf, 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."/>
+                    </xml-properties>
+                </xml-element>
+                <xml-element java-attribute="resourceVersion" name="resource-version" type="java.lang.String">
+                    <xml-properties>
+                        <xml-property name="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.onap.org.v9.RelationshipList"/>
+                <xml-element java-attribute="lInterfaces" name="l-interfaces" type="inventory.aai.onap.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-property name="requiredProps" value="vnf-id2,vnf-name,vnf-type"/>
+            <xml-property name="uriTemplate" value="/network/newvces/newvce/{vnf-id2}"/>
+            </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.onap.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" 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). 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.onap.org.v9.RelationshipList"/>
+                <xml-element java-attribute="pInterfaces" name="p-interfaces" type="inventory.aai.onap.org.v9.PInterfaces"/>
+                <xml-element java-attribute="lagInterfaces" name="lag-interfaces" type="inventory.aai.onap.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-property name="requiredProps" value="pnf-name,in-maint"/>
+            <xml-property name="uriTemplate" value="/network/pnfs/pnf/{pnf-name}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="link-name"/>
+            <xml-property name="uriTemplate" value="/network/physical-links/physical-link/{link-name}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="vig-address-type"/>
+            <xml-property name="uriTemplate" value="/vig-servers/vig-server/{vig-address-type}"/>
+            </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.onap.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.onap.org.v9.RelationshipList"/>
+                <xml-element java-attribute="vigServers" name="vig-servers" type="inventory.aai.onap.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-property name="requiredProps" value="ipsec-configuration-id"/>
+            <xml-property name="uriTemplate" value="/network/ipsec-configurations/ipsec-configuration/{ipsec-configuration-id}"/>
+            </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.onap.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.onap.org.v9.ReservedPropNames"/>
+                <xml-element container-type="java.util.ArrayList" java-attribute="edgePropNames" name="edge-prop-names" type="inventory.aai.onap.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.onap.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-property name="requiredProps" value="model-invariant-id,model-type"/>
+            <xml-property name="uriTemplate" value="/service-design-and-creation/models/model/{model-invariant-id}"/>
+            </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.onap.org.v9.ModelVers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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.onap.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-property name="requiredProps" value="model-version-id,model-name,model-version"/>
+            <xml-property name="uriTemplate" value="/model-vers/model-ver/{model-version-id}"/>
+            </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.onap.org.v9.ModelElements"/>
+                <xml-element java-attribute="metadata" name="metadata" type="inventory.aai.onap.org.v9.Metadata"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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.onap.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-property name="requiredProps" value="model-element-uuid,new-data-del-flag,cardinality"/>
+            <xml-property name="uriTemplate" value="/model-elements/model-element/{model-element-uuid}"/>
+            </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.onap.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.onap.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.onap.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.onap.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-property name="requiredProps" value="model-constraint-uuid,constrained-element-set-uuid-to-replace"/>
+            <xml-property name="uriTemplate" value="/model-constraints/model-constraint/{model-constraint-uuid}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="constrained-element-set-uuid,constraint-type,check-type"/>
+            <xml-property name="uriTemplate" value="/constrained-element-sets/constrained-element-set/{constrained-element-set-uuid}"/>
+            </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.onap.org.v9.ElementChoiceSets"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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.onap.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-property name="requiredProps" value="element-choice-set-uuid,element-choice-set-name"/>
+            <xml-property name="uriTemplate" value="/element-choice-sets/element-choice-set/{element-choice-set-uuid}"/>
+            </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.onap.org.v9.ModelElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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.onap.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-property name="requiredProps" value="named-query-uuid,named-query-name,named-query-version"/>
+            <xml-property name="uriTemplate" value="/service-design-and-creation/named-queries/named-query/{named-query-uuid}"/>
+            </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.onap.org.v9.NamedQueryElements"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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.onap.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-property name="requiredProps" value="named-query-element-uuid"/>
+            <xml-property name="uriTemplate" value="/named-query-elements/named-query-element/{named-query-element-uuid}"/>
+            </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.onap.org.v9.NamedQueryElements"/>
+                <xml-element java-attribute="relatedLookups" name="related-lookups" type="inventory.aai.onap.org.v9.RelatedLookups"/>
+                <xml-element java-attribute="propertyConstraints" name="property-constraints" type="inventory.aai.onap.org.v9.PropertyConstraints"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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.onap.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-property name="requiredProps" value="related-lookup-uuid,source-node-type,source-node-property,target-node-type,target-node-property"/>
+            <xml-property name="uriTemplate" value="/related-lookups/related-lookup/{related-lookup-uuid}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="property-constraint-uuid,constraint-type,property-name,property-value"/>
+            <xml-property name="uriTemplate" value="/property-constraints/property-constraint/{property-constraint-uuid}"/>
+            </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.onap.org.v9.QueryParameters"/>
+                <xml-element java-attribute="instanceFilters" name="instance-filters" type="inventory.aai.onap.org.v9.InstanceFilters"/>
+                <xml-element java-attribute="secondaryFilts" name="secondary-filts" type="inventory.aai.onap.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.onap.org.v9.NamedQuery"/>
+                <xml-element java-attribute="model" name="model" type="inventory.aai.onap.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-property name="requiredProps" value="model-invariant-id,model-name-version-id,model-type,model-name,model-id,model-version"/>
+            </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.onap.org.v9.ModelVers"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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.onap.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.onap.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.onap.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.onap.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.onap.org.v9.ExtraProperties"/>
+                <xml-element java-attribute="inventoryResponseItems" name="inventory-response-items" type="inventory.aai.onap.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.onap.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.onap.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.onap.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-property name="requiredProps" value="route-table-reference-id,route-table-reference-fqdn"/>
+            <xml-property name="uriTemplate" value="/network/route-table-references/route-table-reference/{route-table-reference-id}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="id,description,type"/>
+            <xml-property name="uriTemplate" value="/network/instance-groups/instance-group/{id}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="segmentation-id"/>
+            <xml-property name="uriTemplate" value="/segmentation-assignments/segmentation-assignment/{segmentation-id}"/>
+            </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.onap.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.onap.org.v9.TunnelXconnects"/>
+                <xml-element java-attribute="relationshipList" name="relationship-list" type="inventory.aai.onap.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-property name="requiredProps" value="id"/>
+            <xml-property name="uriTemplate" value="/allotted-resources/allotted-resource/{id}"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="id,bandwidth-up-wan1,bandwidth-down-wan1,bandwidth-up-wan2,bandwidth-down-wan2"/>
+            <xml-property name="uriTemplate" value="/tunnel-xconnects/tunnel-xconnect/{id}"/>
+            </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.onap.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.onap.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"/>
+                <xml-property name="container" value="entitlements"/>
+            <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+            <xml-property name="uriTemplate" value="/entitlements/entitlement/{group-uuid}/{resource-uuid}"/>
+            </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.onap.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.onap.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"/>
+                <xml-property name="container" value="licenses"/>
+            <xml-property name="requiredProps" value="group-uuid,resource-uuid"/>
+            <xml-property name="uriTemplate" value="/licenses/license/{group-uuid}/{resource-uuid}"/>
+            </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,generic-vnf"/>
+                <xml-property name="abstract" value="true"/>
+            <xml-property name="requiredProps" value="vnf-id"/>
+            </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.onap.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.onap.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-property name="requiredProps" value="zone-id,zone-name,design-type,zone-context"/>
+            <xml-property name="uriTemplate" value="/network/zones/zone/{zone-id}"/>
+            </xml-properties>
+        </java-type>
+
+    </java-types>
+</xml-bindings>
diff --git a/aai-schema/src/main/xjb/bindings-onap.xjb b/aai-schema/src/main/xjb/bindings-onap.xjb
new file mode 100644 (file)
index 0000000..22b11d8
--- /dev/null
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<jaxb:bindings
+    version="2.1"
+    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+    xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+    <jaxb:globalBindings>
+           <xjc:serializable uid="15"/>
+    </jaxb:globalBindings>
+    <jaxb:bindings scd="x-schema::a" xmlns:a="http://org.openecomp.aai.inventory/v8">
+        <jaxb:schemaBindings>
+            <jaxb:package name="org.onap.aai.domain.yang.v8"/>
+        </jaxb:schemaBindings>
+    </jaxb:bindings>
+    <jaxb:bindings scd="x-schema::a" xmlns:a="http://org.openecomp.aai.inventory/v9">
+        <jaxb:schemaBindings>
+            <jaxb:package name="org.onap.aai.domain.yang.v9"/>
+        </jaxb:schemaBindings>
+    </jaxb:bindings>
+    <jaxb:bindings scd="x-schema::a" xmlns:a="http://org.openecomp.aai.inventory/v10">
+        <jaxb:schemaBindings>
+            <jaxb:package name="org.onap.aai.domain.yang.v10"/>
+        </jaxb:schemaBindings>
+    </jaxb:bindings>
+    <jaxb:bindings scd="x-schema::a" xmlns:a="http://org.openecomp.aai.inventory/v11">
+        <jaxb:schemaBindings>
+            <jaxb:package name="org.onap.aai.domain.yang.v11"/>
+        </jaxb:schemaBindings>
+    </jaxb:bindings>
+    <jaxb:bindings scd="x-schema::a" xmlns:a="http://org.onap.aai.inventory/v12">
+        <jaxb:schemaBindings>
+            <jaxb:package name="org.onap.aai.domain.yang.v12"/>
+        </jaxb:schemaBindings>
+    </jaxb:bindings>
+    <jaxb:bindings scd="x-schema::a" xmlns:a="http://org.onap.aai.inventory/v13">
+        <jaxb:schemaBindings>
+            <jaxb:package name="org.onap.aai.domain.yang.v13"/>
+        </jaxb:schemaBindings>      
+    </jaxb:bindings>
+    <jaxb:bindings scd="x-schema::a" xmlns:a="http://org.onap.aai.inventory/v14">
+        <jaxb:schemaBindings>
+            <jaxb:package name="org.onap.aai.domain.yang.v14"/>
+        </jaxb:schemaBindings>
+    </jaxb:bindings>
+    <jaxb:bindings scd="x-schema::a" xmlns:a="http://org.onap.aai.inventory/v15">
+        <jaxb:schemaBindings>
+            <jaxb:package name="org.onap.aai.domain.yang"/>
+        </jaxb:schemaBindings>      
+    </jaxb:bindings>
+</jaxb:bindings>
diff --git a/aai-schema/src/test/java/org/onap/aai/schema/ValidateOXMTest.java b/aai-schema/src/test/java/org/onap/aai/schema/ValidateOXMTest.java
new file mode 100644 (file)
index 0000000..cd8c76f
--- /dev/null
@@ -0,0 +1,160 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.aai
+ * ================================================================================
+ * Copyright © 2017-2018 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.onap.aai.schema;
+
+
+//import org.junit.Test;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.filefilter.DirectoryFileFilter;
+import org.apache.commons.io.filefilter.RegexFileFilter;
+import org.junit.Test;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+import java.io.*;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
+public class ValidateOXMTest {
+
+       @Test
+       public void testFindXmlPropContainingSpace() throws XPathExpressionException, IOException, SAXException, ParserConfigurationException {
+               boolean foundIssue = false;
+               List<File> fileList = getFiles();
+
+               StringBuilder msg = new StringBuilder();
+               for (File file : fileList) {
+                       msg.append(file.getAbsolutePath().replaceAll(".*aai-schema", ""));
+                       msg.append("\n");
+                       Document xmlDocument = getDocument(file);
+                       XPath xPath = XPathFactory.newInstance().newXPath();
+                       String expression = "/xml-bindings/java-types/java-type/xml-properties/xml-property[@name!='description' and contains(@value,' ')]";
+                       NodeList nodeList = (NodeList) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODESET);
+
+                       for (int i = 0; i < nodeList.getLength(); i++) {
+                               foundIssue = true;
+                               msg.append("\t");
+                               msg.append(nodeList.item(i).getParentNode().getParentNode().getAttributes().getNamedItem("name").getNodeValue());
+                               msg.append("\n");
+                               msg.append("\t");
+                               msg.append("\n");
+                       }
+
+               }
+
+               if (foundIssue) {
+                       System.out.println(msg.toString());
+                       fail("Node type xml-property should have space.");
+               }
+
+       }
+
+       /**
+        * Verifies that all of the node types in the oxm's have their uri templates.
+        * @throws XPathExpressionException
+        * @throws IOException
+        * @throws SAXException
+        * @throws ParserConfigurationException
+        */
+       @Test
+       public void allNodeTypesHaveAAIUriTemplate() throws XPathExpressionException, IOException, SAXException, ParserConfigurationException {
+               boolean foundIssue = false;
+               List<File> fileList = getFiles();
+
+               StringBuilder msg = new StringBuilder();
+               for (File file : fileList) {
+                       msg.append(file.getAbsolutePath().replaceAll(".*aai-schema", ""));
+                       msg.append("\n");
+                       Document xmlDocument = getDocument(file);
+                       XPath xPath = XPathFactory.newInstance().newXPath();
+                       String expression = "/xml-bindings/java-types/java-type[count(xml-properties/xml-property[@name='container']) > 0 and count(xml-properties/xml-property[@name='uriTemplate']) = 0 ]";
+                       NodeList nodeList = (NodeList) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODESET);
+
+                       for (int i = 0; i < nodeList.getLength(); i++) {
+                               String name = nodeList.item(i).getAttributes().getNamedItem("name").getNodeValue();
+                               if (name.equals("InstanceFilter") || name.equals("InventoryResponseItems") || name.equals("InventoryResponseItem")) {
+                                       continue;
+                               }
+                               foundIssue = true;
+                               msg.append("\t");
+                               msg.append(name);
+                               msg.append("\n");
+                       }
+               }
+               if (foundIssue) {
+                       System.out.println(msg.toString());
+                       fail("Missing uriTemplate in oxm.");
+               }
+
+       }
+
+       private List<File> getFiles() {
+               Path currentRelativePath = Paths.get("../aai-schema/src/main/resources/").toAbsolutePath();
+               return FileUtils.listFiles(
+                               currentRelativePath.toFile(),
+                               new RegexFileFilter(".*\\.xml"),
+                               DirectoryFileFilter.DIRECTORY)
+                               .stream().filter(file -> file.getAbsolutePath().contains("oxm"))
+                               .collect(Collectors.toList());
+       }
+
+       //TODO test that all oxm xml are valid xml
+
+
+
+       public String printNodeList(NodeList nodeList, Document doc) throws IOException {
+               StringBuilder stringBuilder = new StringBuilder();
+               for (int i = 0; i < nodeList.getLength(); i++) {
+                       stringBuilder.append(printNode(nodeList.item(i), doc)).append("\n");
+               }
+               return stringBuilder.toString();
+       }
+
+       public String printNode(Node node, Document document) throws IOException {
+               StringWriter stringWriter = new StringWriter();
+               return stringWriter.toString();
+
+       }
+
+       private Document getDocument(File file) throws ParserConfigurationException, SAXException, IOException {
+               InputStream fileIS = new FileInputStream(file);
+               DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
+               DocumentBuilder builder = builderFactory.newDocumentBuilder();
+               return builder.parse(fileIS);
+       }
+
+}
diff --git a/pom.xml b/pom.xml
index 4e528dd..589c8e1 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -34,6 +34,9 @@
     <name>aai-schema-service</name>
     <packaging>pom</packaging>
     <modules>
+        <module>aai-annotations</module>
+        <module>aai-schema-gen</module>
+        <module>aai-schema</module>
         <module>aai-schema-service</module>
     </modules>
     <properties>